• DİKKAT

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

Exit Sub ve Go To sorunu

Katılım
2 Ekim 2013
Mesajlar
347
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
tek butonda 3 tane if le başlayan komutum var

Private Sub ABC ()

1) if..... and .... then
Call A
End if

2) if..... and .... then
Call B
End if

3) if..... and .... then
Call C
End if

End Sub

Bu şartlardan birincisi oluşursa ikinci ve üçüncüye bakmadan komutun sonlandırılmasınıistiyorum. 1. şart oluşmamışsa 2. şarta bakması oluşmussa sonlandırması, ilk iki şartta oluşmamışsa üçüncü şarta bakmasını istiyorum. zayıf Go to ve exit sub bilgilerimle yaptığım denemelerim başarısız oldu.

Yardımcı olursanız sevinirim
 
Deneyiniz.

Kod:
Private Sub ABC ()
if..... and .... then
Call A
exit sub

Elséif..... and .... then
Call B
exit sub

Elseif..... and .... then
Call C
End if
 
"Else without if" hatası verdi
 
Kendi kodlarınızda her End if satırından önce Exit Sub ifadesini ekleyerek deneyiniz.
 
Private Sub ABC_Click()

If T = "TG" And Z = "" Then '(T combo değeri "TG" ve Z değeri "" ise A makrosu çalışsın)
Call A
Exit Sub
End If


Elseif T = "YG" And Z = "" Then '(T combo değeri "YG" ve Z değeri "" ise B makrosu çalışsın)
Call B
Exit Sub
End If

Elseif Z > 0 Then '( Z değeri sıfırdan büyükse ise C makrosu çalışsın)
Call C
Exit Sub
End If

End Sub


Makro ve isteklerim böyle....
Çalıştırdığımda
"Else without if" hatası alıyorum




Deneyiniz.

Kod:
Private Sub ABC ()
if..... and .... then
Call A
exit sub

Elséif..... and .... then
Call B
exit sub

Elseif..... and .... then
Call C
End if
Size yaazılan formülde End Sub eklenmemiş, end sub eksikliğinden dolayı olabilir mi?
Kendi kodlarınızda her End if satırından önce Exit Sub ifadesini ekleyerek deneyiniz.
 
Kod:
Private Sub ABC_Click()

If T = "TG" And Z = "" Then '(T combo değeri "TG" ve Z değeri "" ise A makrosu çalışsın)
Call A
Exit Sub

ElseIf T = "YG" And Z = "" Then '(T combo değeri "YG" ve Z değeri "" ise B makrosu çalışsın)
Call B
Exit Sub

ElseIf Z > 0 Then '( Z değeri sıfırdan büyükse ise C makrosu çalışsın)
Call C
Exit Sub
End If

End Sub
 
Private Sub ABC_Click()

If T = "TG" And Z = "" Then '(T combo değeri "TG" ve Z değeri "" ise A makrosu çalışsın)
Call A
Exit Sub
End If


Elseif T = "YG" And Z = "" Then '(T combo değeri "YG" ve Z değeri "" ise B makrosu çalışsın)
Call B
Exit Sub
End If

Elseif Z > 0 Then '( Z değeri sıfırdan büyükse ise C makrosu çalışsın)
Call C
Exit Sub
End If

End Sub


Makro ve isteklerim böyle....
Çalıştırdığımda
"Else without if" hatası alıyorum


End if dedikten sonra yeni koda elseif ile başlanamaz, Ve bahsettiğiniz uyarı end if eksikliğinden ya da uygunsuz kullanımından dolayı ortaya çıkar bildiğim kadarı ile.
İfli yapılar ile kod oluştururken şu aklınızda olursa hatayı tespit etmeniz kolaylaşır , ya da düzgün kod oluşturabilirsiniz.
 
çok teşekkürler. sonunda doğru dizilimi anladım.
 
Verdiğim kodda end sub koymayı unutmuşum
Sabah erken vakit olduğu için gözden kaçmış
Kodda hata vermesinin nedeni o. Ben o kodu kullanıyorum zaten
Kolay gelsin
 
Geri
Üst