• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

çalışma kitabı X dan kapanmasın-mesaj versin(userform d

Katılım
13 Ocak 2005
Mesajlar
212
arkadaşlar tekrar merhaba
forumda arıyorum ama bulamadım.
Userform kullanmadan yani bildiğimiz hücreli excel ekranındaki pencerenin X yani sağ üst köşedeki kırmızı kapat butonuna tıkladığımda excelin kapanmamasını istiyorum. hatta bir mesaj bile vermesini istiyorum. bu mümkün müdür?
forumda örnekleri var ancak hepsi userform ile ilgili normal bir çalışma kitabında nasıl uygulanabilir?
şimdiden teşekkürler
 
Eğer sadece çalışma kitabının X dan kapatılmasını engellemek istiyorsanız, çalışma kitabına araçlar-koruma-çalışma kitabını korudan koruma koymak yeterlidir. Ama tüm excelin kapanmasını engellemek istiyorsanız, bunun için muhtemelen bir api kullanmak gerekecektir.
 
ThisWorkbook modulüne, aşağıdakini yerleştirin ....

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    msgbox "hmmmm....."
    Cancel = True
End Sub
 
"hmmmm....." :)

Haluk Bey kodu yerleştirdim ancak bu sefer de excel den hiç çıkmıyor. Nereden kapat desem hmmmmmmm diyor :)
ben X butonundan değil de bir butona aşağıdaki kodu yerleştirdim bundan kapanmasını istiyorum. ama bu butona tıkladığımda da hmmmmmm :) diyor.

Sub Dikdörtgen18_Tıklat()
ActiveWorkbook.Save
MsgBox "KAYIT YAPILDI ÇIKILIYOR"
Application.Quit
End Sub
 
şu şekilde bir denesen

[vb:1:1b9ad33a1d]Sub Dikdörtgen18_Tıklat()
ActiveWorkbook.Save
sheets(1).[a1]="1"
MsgBox "KAYIT YAPILDI ÇIKILIYOR"
Thisworkbook.Save =True
Application.Quit
End Sub[/vb:1:1b9ad33a1d]


[vb:1:1b9ad33a1d]Private Sub Workbook_BeforeClose(Cancel As Boolean)
msgbox "hmmmm....."
if sheets(1).[A1]<>1 then Cancel = True
End Sub[/vb:1:1b9ad33a1d]
 
Nasıl kapatmak istediğinizi söylemediğiniz için ben de asla kapanmayacak şekilde yapmıştım ... :mrgreen:


Þimdi, daha önce verdiğim kodu silin ve onun yerine şunu yerleştirin; (ThisWorkbook modulunde...)

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If MyCheck = False Then
        MsgBox "hmmmm....."
        Cancel = True
    End If
End Sub

Sizin Dikdörtgen18_Tıklat prosedürünün olduğu module de (bu modulün "standart" bir modul olması gereklidir - Modul1 gibi.... sayfa modulu falan degil....), sizinkinin yerine aşağıdakini yerleştirin;

Kod:
Public MyCheck As Boolean ' Bu satir, modulun en ustunde olucak
'
Sub Dikdörtgen18_Tıklat()
    ActiveWorkbook.Save
    MsgBox "KAYIT YAPILDI ÇIKILIYOR"
    MyCheck = True
    Application.Quit
End Sub
 
Düzeltme...


Sub Dikdörtgen18_Tıklat()
ActiveWorkbook.Save
Sheets(1).[a1] = "1"
MsgBox "KAYIT YAPILDI ÇIKILIYOR"
ThisWorkbook.Saved = True
Application.Quit
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets(1).[a1] <> 1 Then
MsgBox "hmmmm....."
Cancel = True
End If
End Sub[/b]
 
isakarakus' Alıntı:
gene geç kaldım yaaa.

İşte excel.web farkı, başka söyleyecek bir şey bulamıyorum. Harikasınız. :arkadas:


PAÞLAÞMAK MUTLULUKTUR.
 
Çalışma kitabını kapatmayı bir butona bağlamak ve, X yı seçilemez kılmak için hangi yol izlenmeli?
 
Geri
Üst