msgbox ile ilgili komut satırı ekledim hata veriyor..

Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
Selamlar;

yaptığım programda forumdaki konulardan yararlanarak bir sorgulama ve sıralama butonu yerleştirdim. bu butonun kodlarına altı çizili ve italik olan satırı ben ilave ettim. yani ilave etmeden önce sorunsuz çalışıyordu. eğer sorgu sonucunda o kişiye ait kayıt yoksa bir msgbox açılmasını ve bilgi vermesini istiyorum. nerede hata var yardımcı olabilirmisiniz?? ayrıca en alta yazdığım hata mesajını veriyor ve en sondaki "end sub" kısmını seçili hale getiriyor.

saygılar...


Sub ceza_da_göster()
Set s1 = Sheets("CTDA")
Set s2 = Sheets("CSDA")
s2.[a3:g65536].ClearContents
If [a1] = "" Then
MsgBox "Ceza Durumunu Görmek İstediğiniz Kişiyi Seçiniz."
Exit Sub
End If
For y = 3 To s2.[b65536]
If y = "" Then
MsgBox "Bu Personele Ait Ceza Bulunmamaktadır.", vbOKOnly + vbInformation
Exit Sub

End If
For a = 3 To s1.[b65536].End(3).Row
If s1.Cells(a, "b") = s2.[a1] Then
C = C + 1
s2.Cells(C + 3, "a") = s1.Cells(a, "a")
s2.Cells(C + 3, "b") = s1.Cells(a, "b")
s2.Cells(C + 3, "c") = s1.Cells(a, "c")
s2.Cells(C + 3, "d") = s1.Cells(a, "d")
s2.Cells(C + 3, "e") = s1.Cells(a, "e")
s2.Cells(C + 3, "f") = s1.Cells(a, "f")
s2.Cells(C + 3, "f") = s1.Cells(a, "f")
s2.Cells(C + 3, "g") = s1.Cells(a, "g")
End If
Next
s2.[a3:g65536].Sort key1:=s2.[g4]
End Sub




HATA MESAJI:
Compile Error:

For without Next
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,459
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bir FOR döngüsü başlatmışsınız ama Exit Sub komutundan önce NEXT ile sonlandırmadığınız için hata mesajı alıyorsunuz.
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
Sayın Cost_Control;

ilginiz ve yardımınız için çok teşekkürler. sorunu çözdüm. istediğim gibi çalışıyor.
:hihoho: :hihoho: :hihoho:

Saygılar..
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
Sayın Cost_Control;

bir sorum daha olacak. sizin yardımınızmla hazırladığım bir "seçili belgeleri yazdır" makrosu vardı hatırlarsanız. ben onda küçük bir değişiklik yaparak, commandbuton a tıkladığımda önce sormasını ve daha sonra yazdırmasını istiyorum. en başa aşağıdaki şekilde msgbox kodlarını ekledim, burada evet tıklandığında yazdır işlemine devam etmesini, hayır tıklandığında işlemi iptal etmesini ve yazdırmamasını istiyorum. nasıl bir düzenleme yapmalıyım??

Saygılar..


Sub SEÇİLEN_SAYFALARI_YAZDIR_izin()
x = MsgBox("Personelin İzin Belgesini Tanzim Ederek Adres ve İzin Bilgilerini Güncellediniz mi?", vbYesNo + vbquestion, "DİKKAT!..")
If x = vbYes Then
End If

Dim Say As Double
Set s1 = Sheets("Anasayfa")
Say = WorksheetFunction.CountIf([B2:B65536], True)
If Say = 0 Then
MsgBox "SAYFA SEÇİMİ YAPILMAMIŞ !" & Chr(10) & "LÜTFEN YAZDIRILACAK SAYFALARI SEÇİNİZ.", vbExclamation, "DİKKAT !"
Exit Sub
End If
For x = 2 To [a65536].End(3).Row
If Cells(x, 2) = True Then Sheets("" & Cells(x, 1)).PrintOut
Next
MsgBox "TOPLAM : " & Say & " ADET SAYFA YAZDIRILMIŞTIR.", vbInformation
End Sub
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Then UserForm1.Show yaparsanız muhtemelen geri dönecektir ve yazdırmayı iptal edecektir.
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
bu sorunuma cevap verebilecek bir üstadım var mı acaba?? çok zor bir şey olmasa gerek ama cahilliğimi mazur görün.. :D:D
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
Then UserForm1.Show yaparsanız muhtemelen geri dönecektir ve yazdırmayı iptal edecektir.

Sayın ocamsul;

ilginize teşekkürler; ancak yazdırma butonu userform üzerinde değil. direkt sayfa üzerinde. bende onun için sizin söylediğinize benzer,

then sheets("izin").select ekledim. sayfaya geri dönüyor ama yinede yazdırıyor. yazdırmayı iptal etmiyor? başka ne yapabiliriz?? :roll:
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
sheets("izin").select
exit sub

şelklinde deneyin
 
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
cellchuq Benim kullandığım kapat kodlarından biri örnek olması açısından. umarım işinize yarar.
KOD
On Error Resume Next
Dim Soru As String
Soru = MsgBox("KaSaV1.0 Programından Çıkmak İstediğinizden Eminmisiniz ?", vbQuestion + vbYesNo, "UYARI...!!!")
If Soru = vbYes Then Kapat
If Soru = vbNo Then UserForm1.Show
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,459
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kodunuzdaki ilgili kısmı aşağıdaki şekilde değiştirip denermisiniz.

Kod:
....
Onay = MsgBox("Personelin İzin Belgesini Tanzim Ederek Adres ve İzin Bilgilerini Güncellediniz mi?", vbYesNo + vbquestion, "DİKKAT!..")
If Onay = vbNo Then
Sheets("izin").Select 
Exit Sub
End If
....
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
selamlar;

hepinizin ilgisine çok teşekkürler sayın üstadlar.. sonuna exit sub ekleyince sorun çözüldü. çok teşekkürler..

saygılar..

:hihoho: :hihoho: :hihoho:
 
Üst