if, else, else if yapısı hakkında bilgi

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Aynı if - then yapısına bağlı üçten çok madde nasıl birbirine bağlanır?
Saygılarımla
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
if a = 1 then
Msgbox "BİR"
elseif a = 2 then
Msgbox "İKİ"
elseif a = 3 then
Msgbox "ÜÇ"
else
Msgbox "HİÇBİRİ"
End if
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Şaban Hocam,
Kod:
Private Sub CommandButton1_Click()

    aa = Range(Range("A1").Text)
        
    If aa = 1 Then Range(Range("C3").Text) = "BİR"
        ElseIf aa = 2 Then Range(Range("C3").Text) = "İKİ"
        ElseIf aa = 3 Then Range(Range("C3").Text) = "ÜÇ"
        
        Else
            Range(Range("C3").Text) = "HİÇBİRİ"
    End If
End Sub
ifadesi hep
Kod:
else without if
hatası veriyor. Hata nerede?
Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Kod:
Sub m()
 aa = Range("A1").Value
        
    If aa = 1 Then
        Range("C3").Value = "BİR"
    ElseIf aa = 2 Then
        Range("C3").Value = "İKİ"
    ElseIf aa = 3 Then
        Range("C3").Value = "ÜÇ"
    Else
        Range("C3").Value = "HİÇBİRİ"
    End If
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba sayın Orion1 Hocam,
İlginize çok teşekkür ederim.
Kod:
Sub mmm()
    Sheets("A-Ktp").Activate
    Call DosyayaYaz
 
    If Sheets("B-Ktp").Visible = True Then
    Sheets("B-Ktp").Activate
    Call DosyayaYazB
        ElseIf Sheets("C-Ktp").Visible = True Then
        Sheets("C-Ktp").Activate
        Call DosyayaYazB
    Else
        Call BasaDon
    End If
End Sub
Bu makroda hata nerede, hiç BasaDon'e gidemiyor?
Saygılarımla
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Hata nerede ? 3 nolu mesaja cevaptir.

Hata, kodlamaya IF ile başlayıp THEN ile satırı bitirir ve alt satirda olması gerekeni yazarsaniz, END IF ile bitirmeniz gerekir.

Sizin yaptığınız gibi IF ile başlayıp THEN den sonra devam ederseniz ELSE ve END IF kullanamazsiniz.

2 nolu mesaji birkez daha dikkatlice inceleyiniz.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba sayın Orion1 Hocam,
İlginize çok teşekkür ederim.
Kod:
Sub mmm()
    Sheets("A-Ktp").Activate
    Call DosyayaYaz
 
    If Sheets("B-Ktp").Visible = True Then
    Sheets("B-Ktp").Activate
    Call DosyayaYazB
        ElseIf Sheets("C-Ktp").Visible = True Then
        Sheets("C-Ktp").Activate
        Call DosyayaYazB
    Else
        Call BasaDon
    End If
End Sub
Bu makroda hata nerede, hiç BasaDon'e gidemiyor?
Saygılarımla
B veya C-Ktp larından birisi görünürse BasaDon makrosuna gidemez.:cool:
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Kod:
B veya C-Ktp larından [COLOR="Red"]birisi[/COLOR] görünürse
Çok teşekkür ederim. Ben bunu atlamışım.
Saygılarımla
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Kodda hata görünmüyor. Eğer şartlar doğruysa onlar çalışıyordur. Veya gidilen modullerde kodu durduran bir satir olabilir.
 
Üst