• DİKKAT

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

[ÇÖZÜLDÜ] comboboxtan comboboxa bilgi çağırma???

  • Konbuyu başlatan Konbuyu başlatan alooo
  • Başlangıç tarihi Başlangıç tarihi
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
3 farklı alt başlık düşünün. comboboxtan bir başlık seçtiğimizde diğer comboboxa onun alt başlığı, oradan bir başlık seçtiğimde ise öteki comboboxta onun alt başlığının gelmesini istiyorum. Fakat bir türlü yapamadım. Şayet yardımcı olabilirseniz sevinirim.

Ekteki dosya içeriğini gördüğünüzde ne demek istediğimi daha iyi anlayacağınızı düşünüyor ve yardımlarınızı bekliyorum.
 
Yapamazsınız.Bir düzen ve standart yok çünkü.:cool:
 
Aşağıdaki kodları Userformun kod bölümüne yerleştiriniz.

Gerçi, Evren bey'in de dediği gibi, daha database'e benzer formal bir veri yapınız olsaydı daha iyi olurdu ama bu şekilde de sorununuz çözülebilir.

Kod:
Private Sub ComboBox1_Change()
    Dim Bul As Range
    
    ComboBox2.Clear
    ComboBox3.Clear
    
    With Sheets("Sayfa1")
        
        Set Bul = .Columns(1).Find(What:=ComboBox1, _
                                   After:=.Range("A65536"), _
                                   LookAt:=xlWhole, _
                                   SearchDirection:=xlPrevious)
        If Not Bul Is Nothing Then
            
            If Bul.MergeCells Then
                Set Bul = Bul.MergeArea
                
                For Each hcr In .Range("B" & Bul.Row & ":B" & Bul.Row + Bul.Cells.Count - 1).Cells
                    If Not IsEmpty(hcr) Then
                        ComboBox3.AddItem hcr
                     End If
                Next
            
            End If
        End If
    End With
    
    Set Bul = Nothing
End Sub
'----------------------------------------------------
 
Private Sub ComboBox3_Change()
    Dim Bul As Range
    
    ComboBox2.Clear
    
    With Sheets("Sayfa1")
        
        Set Bul = .Columns(2).Find(What:=ComboBox3, _
                                   After:=.Range("B65536"), _
                                   LookAt:=xlWhole, _
                                   SearchDirection:=xlPrevious)
        If Not Bul Is Nothing Then
            
            If Bul.MergeCells Then
                Set Bul = Bul.MergeArea
                
                For Each hcr In .Range("C" & Bul.Row & ":C" & Bul.Row + Bul.Cells.Count - 1).Cells
                    If Not IsEmpty(hcr) Then
                        ComboBox2.AddItem hcr
                     End If
                Next
            
            End If
        End If
    End With
    
    Set Bul = Nothing
End Sub
'-----------------------------------------------------
 
Private Sub UserForm_Initialize()
    Dim i As Integer
    
    With Sheets("Sayfa1")
        For i = 1 To .Cells(65536, 1).End(xlUp).Row
            If Not IsEmpty(.Cells(i, 1)) Then
                ComboBox1.AddItem .Cells(i, 1)
            End If
        Next i
    End With
End Sub

Örnek dosya ektedir.
 
ben sadece kategorilerin görülebilmesi amacı ile onu yaptım. yani veri düzenini istediğiniz gibi yapabilirsiniz.
 
'-----------------------------------------------------

Private Sub UserForm_Initialize()
Dim i As Integer

With Sheets("Sayfa1")
For i = 1 To .Cells(65536, 1).End(xlUp).Row
If Not IsEmpty(.Cells(i, 1)) Then
ComboBox1.AddItem .Cells(i, 1)
End If
Next i
End With
End Sub[/CODE]

yukarıdaki kodu yaptığım programa enjekte etmeye çalıştığımda bir hata mesajı ile karşılaştığım için istediğimi ne yazıkki yapamadım.

Dediğim gibi benim gönderdiğim dosya, sadece neyin hangi kategori içinde olacağını gösterir bir tablo. birleştirilen hücreleri çözerek verileri alt alta getirip bir düzen oturtabilirsiniz.

Gerek Ferhat Pazarçevirdi kardeşim, gerekse diğer arkadaşlar yardımcı olursa sevinirim.
 
Geri
Üst