QueryClose Form Kapanma Olayında HATA!

Katılım
25 Şubat 2008
Mesajlar
24
Excel Vers. ve Dili
Office 2003 Pro VBA
Formun QueryClose olayına vba kodu yazdım. Kod şöyle;

cvp=msgbox("Çıkmak istediğinizden emin misiniz?, vbyesno)
if vbyesno=true then
......
else
.....
endif

şeklinde.
Ancak bu şekilde 1 forma uygulayınca oluyor. Uygulamadaki tüm formlara yapınca kodlar karışıyor, hatalar oluşuyor. (X) işaretine basınca böyle bir uyarı sağlamam için gerekli kodu söylerseniz sevinirim. teşekkürler
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
cvp=msgbox("Çıkmak istediğinizden emin misiniz?", vbyesno)
if cvp= 6 then
.....
....

böyle deneyiniz...
 
Son düzenleme:
S

Skorpiyon

Misafir
veya ek bilgi olması açısından,

cvp = msgbox("Çıkmak istediğinizden emin misiniz ?, vbyesno)
if cvp = vbyes then
....
....

gibi...
 
Katılım
25 Şubat 2008
Mesajlar
24
Excel Vers. ve Dili
Office 2003 Pro VBA
veya ek bilgi olması açısından,

cvp = msgbox("Çıkmak istediğinizden emin misiniz ?, vbyesno)
if cvp = vbyes then
....
....

gibi...
aynı hatalar devam ediyor. kodlarda unload ettiğim her form bu soruyu souyor. ayrıca birşey daha tespit ettim. (X) işaretine bir kez basıp "Çıkmak istiyor musunuz?" sorusuna "Hayır" cevabını verince (X) işaretine bir daha tıklanamıyor. Daha doğrusu tıklanıyor ama işlev görmüyor.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
kodu tam olarak yazarmısınız. örnek dosya yollayabilirmisiniz?
 
S

Skorpiyon

Misafir
Sayın erkanmandm,

En güzeli örnek bir dosya eklemeniz. Üzerinde yardımcı olmaya çalışalım. Birde sizin yapmak istediğiniz tam olarak nedir ? Ekleyeceğiniz örnek dosyaya bunu da detaylı bir şekilde yazın.

Yani, Programdan çıkış formuna mı böyle bir şey koymak istiyorsunuz yoksa diğer bir forma geçerken mi sordurmak istiyorsunuz ? gibi...
 
Katılım
25 Şubat 2008
Mesajlar
24
Excel Vers. ve Dili
Office 2003 Pro VBA
kod şöyle;
cvp=msgbox("Çıkmak istediğinizden emin misiniz?, vbyesno)
if cvp=vbyes then
application.thisworkbook.save
application.thisworkbook.quit
else
userform1.hide
userform1.show
exit sub
end if


bu kodu formun QueryClose olayına yazdım, yazınca butonlara tıklayınca da bu kod devreye giriyor? nedenini anlayamadım?
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Kod:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
cvp = MsgBox("Çıkmak istediğinizden emin misiniz?[COLOR=red]"[/COLOR], vbYesNo)
If cvp = vbYes Then
Application.ThisWorkbook.Save
Application.ThisWorkbook.Quit
End If
End Sub
böyle deneyiniz... (kırmızı ile belirttiğim tırnak işaretini unutmayın)
 
S

Skorpiyon

Misafir
Sayın erkanmandm,

Aşağıdaki şekilde deneyin. Sanırım işinizi görecektir.



Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim a
a = MsgBox("Çıkmak istediğinizden emin misiniz?", vbYesNo)
If a = vbYes Then
Workbooks("Kitap1.xls").Save
Application.Quit
Else
Cancel = 1
Exit Sub
End If
End Sub
 
Üst