iç içe if elseif ve else blok kullanımı

Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
selam arkadaşlar iç içe if elseif ve else blok kullanmaya çalıştım bloğum aşağıdaki gibidir.
Kod:
Private Sub CommandButton3_Click()
Worksheets("KODLAR").Select
If ComboBox5.Value = "YERLİ GAZETE GT" Then
    Range("A2").Select
        Do While Not IsEmpty(ActiveCell)
            ActiveCell.Offset(1, 0).Select
        Loop
            If Range("A2").Value = "" Then
                Range("A2").Value = 1001
                Range("A2").Select
            Else
                ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                TextBox1.Value = ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                MsgBox "KODVERİLMİŞTİR ÜRÜN ADINIZI GİRİNİZ"
             End If
Exit Sub
                
ElseIf ComboBox5.Value = "YERLİ DERGİLER DT" Then
        Range("B2").Select
                Do While Not IsEmpty(ActiveCell)
                    ActiveCell.Offset(1, 0).Select
                Loop
                    If Range("B2").Value = "" Then
                        Range("B2").Value = 2001
                        Range("B2").Select
                    Else
                        ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                        TextBox1.Value = ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                        MsgBox "KODVERİLMİŞTİR ÜRÜN ADINIZI GİRİNİZ"
                    End If
                        Exit Sub
ElseIf ComboBox5.Value = "YABANCI GAZETE GY" Then
        Range("C2").Select
                        Do While Not IsEmpty(ActiveCell)
                            ActiveCell.Offset(1, 0).Select
                        Loop
                            If Range("C2").Value = "" Then
                                Range("C2").Value = 3001
                                Range("C2").Select
                            Else
                                ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                                TextBox1.Value = ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                                MsgBox "KODVERİLMİŞTİR ÜRÜN ADINIZI GİRİNİZ"
                            End If
                                Exit Sub
ElseIf ComboBox5.Value = "YABANCI DERGİ DY" Then
        Range("D2").Select
                        Do While Not IsEmpty(ActiveCell)
                            ActiveCell.Offset(1, 0).Select
                        Loop
                            If Range("D2").Value = "" Then
                                Range("D2").Value = 4001
                                Range("D2").Select
                            Else
                                ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                                TextBox1.Value = ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
                                MsgBox "KODVERİLMİŞTİR ÜRÜN ADINIZI GİRİNİZ"
                            End If
                                Exit Sub
    
ElseIf ComboBox5.Value = "" Then
        MsgBox "ÜRÜNÜN CİNSİNİ SEÇİN"
ComboBox5.SetFocus
Exit Sub
 

MsgBox "EKLENDİ "
 
 

 End If
 

End Sub
ama combobox5 i boş bırakıp çalıştırdığım zaman ürün cinsini seçin diyor fakat yukarıda YABANCI GAZETE GY KRİTER OLAN BUNU VEYA DİĞER KRİTERLERİMİ SEÇTİĞİM ZAMAN HİÇ BİR İŞ YAPMIYOR SEBEBİ NE OLABİLİR AÇABA BEN YANLIŞ BİR ŞEY Mİ YAPIYORUM.
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2021 Excel Tr
Örnek dosya ekleyin ve neyi yapması gerektiğini daha açık ifade eder misiniz
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Çok emin değilim ama aşağıdaki kodu bir deneyiniz.
Kod:
Private Sub CommandButton3_Click()
Dim sh As Worksheet
Dim sutun%, deger As Long
Set sh = Sheets("KODLAR")
Select Case Combobox5.Value
   Case "YERLİ GAZETE GT": sutun = 1: deger = 1001
   Case "YERLİ DERGİLER DT": sutun = 2: deger = 2001
   Case "YABANCI GAZETE GY": sutun = 3: deger = 3001
   Case "YABANCI DERGİ DY": sutun = 4: deger = 4001
   Case "": MsgBox "ÜRÜNÜN CİNSİNİ SEÇİN": Combobox5.SetFocus: Exit Sub
End Select
If sh.Cells(2, sutun) = Empty Then
   sh.Cells(2, sutun) = deger
Else
   deger = IIf(sh.Cells(2, sutun).End(xlUp).Row = 65536, sh.Cells(2, sutun) + 1, sh.Cells(2, sutun).End(xlUp) + 1)
   sh.Cells(2, sutun).End(xlUp).Offset(1, 0) = deger
   Textbox1 = deger
   MsgBox "KODVERİLMİŞTİR ÜRÜN ADINIZI GİRİNİZ"
End If
End Sub
 
Üst