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

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.
 

Orion1

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

Ofis-2010-TR 32 Bit
Yapamazsınız.Bir düzen ve standart yok çünkü.:cool:
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
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.
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
ben sadece kategorilerin görülebilmesi amacı ile onu yaptım. yani veri düzenini istediğiniz gibi yapabilirsiniz.
 
Katılım
20 Eylül 2006
Mesajlar
77
Excel Vers. ve Dili
Excel 2013 TR
'-----------------------------------------------------

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.
 
Üst