Exit Sub ve Go To sorunu

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
317
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
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
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,663
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
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
 

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
317
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
"Else without if" hatası verdi
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Kendi kodlarınızda her End if satırından önce Exit Sub ifadesini ekleyerek deneyiniz.
 

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
317
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
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.
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
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
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
503
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
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.
 

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
317
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
çok teşekkürler. sonunda doğru dizilimi anladım.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,663
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
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
 
Üst