Combobox, Listbox1 seçime göre Listbox2

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Merhaba üstatlarım,


Yine içinden çıkamadığım günlerdir uğraştığım bir sorunla karşı karşıyayım. İstediğim şey normalde olabili birşey mi onu bilmiyorum açıkçası Siz üstatlarımdan yardım rica ediyorum.

Bir userformum var. Combobox seçime göre "benzersiz olarak" önce ktg sonra kimlik kolonunu filtreyerek listbox1 e "benzersiz olarak" kimlik2 dökülecek.
Listbox1 seçimime göre D kolonu "liste ismi1" listbox2 ye dökülecek

Ben asla çözemedim bunu. Mümkün birşey mi onu da bilmiyorum. Yardımınızı rica ediyorum.

Çok teşekkürler
 

Ekli dosyalar

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba , deneyiniz..

Kod:
Private Sub UserForm_Initialize()
Dim i
Application.ScreenUpdating = False
ComboBox1.Clear
ComboBox2.Clear
ListBox1.Clear
ListBox2.Clear
For i = 2 To Cells(Rows.Count, 1).End(3).Row
    If WorksheetFunction.CountIf(Range("A2:A" & i), Range("A" & i)) = 1 Then
        ComboBox1.AddItem Cells(i, 1).Value
    End If
Next
Application.ScreenUpdating = True
End Sub
Private Sub ComboBox1_Change()
Dim i, x, CombVarmi
Application.ScreenUpdating = False
ComboBox2.Clear
ListBox1.Clear
ListBox2.Clear
For i = 2 To Cells(Rows.Count, 2).End(3).Row
    If Cells(i, 1) = ComboBox1.Value Then
        If ComboBox2.ListCount = 0 Then ComboBox2.AddItem Cells(i, 2).Value
        For x = 0 To ComboBox2.ListCount - 1
            If Cells(i, 2) = ComboBox2.List(x, 0) Then
                CombVarmi = True
                Exit For
            Else
                CombVarmi = False
            End If
        Next x
        If CombVarmi = False Then ComboBox2.AddItem Cells(i, 2).Value
    End If
Next i
Application.ScreenUpdating = True
End Sub

Private Sub ComboBox2_Change()
Dim i, x, ListVarmi
Application.ScreenUpdating = False
ListBox1.Clear
ListBox2.Clear
For i = 2 To Cells(Rows.Count, 3).End(3).Row
    If Cells(i, 2) = ComboBox2.Value Then
        If ListBox1.ListCount = 0 Then ListBox1.AddItem Cells(i, 3).Value
        For x = 0 To ListBox1.ListCount - 1
            If Cells(i, 3) = ListBox1.List(x, 0) Then
                ListVarmi = True
                Exit For
            Else
                ListVarmi = False
            End If
        Next x
        If ListVarmi = False Then ListBox1.AddItem Cells(i, 3).Value
    End If
Next i
Application.ScreenUpdating = True

End Sub

Private Sub ListBox1_Click()
Dim i, x, List2Varmi
Application.ScreenUpdating = False
ListBox2.Clear
For i = 2 To Cells(Rows.Count, 4).End(3).Row
    If Cells(i, 3) = ListBox1.Value Then
        If ListBox2.ListCount = 0 Then ListBox2.AddItem Cells(i, 4).Value
        For x = 0 To ListBox2.ListCount - 1
            If Cells(i, 3) = ListBox2.List(x, 0) Then
                List2Varmi = True
                Exit For
            Else
                List2Varmi = False
            End If
        Next x
        If List2Varmi = False Then ListBox2.AddItem Cells(i, 4).Value
    End If
Next i
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Sayın Emrexcel16 öncelikle çok teşekkür ederim. Ben bu sürede üzerinde bayağa çalıştım bir şeyler çıkardım. Sadece yapamadığım listbox'ı benzersiz göstermek kaldı. Sizin yazdığınız gibi değil ama benimki çok amatörce :) Size göndersem bi bakabilir misiniz?

Teşekkür ederim
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Rica ederim , ekli dosya işinizi görmüyor mu ?
 

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Görüyor tabi ki, şahane şeyler yapmışsınız. Hepsini tek tek inceleyeceğim. Ben size başka bir dosya gönderdim, sizden ricam bakabilirseniz çok çok sevinicem. Tekrar tekrar teşekkür ederim.
 

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Sayın @EmrExcel16

Ben hangi aşamada olduğumu görmeniz açısından dosyamı paylaşıyorum.

Neler yaptım kısaca anlatayım:

1- Userformda combobox ile sheet1 den filtreleme yapıyorum
2- Filtrelediğim alanı tmp1 sheetine alıyorum ve listbox1 de gösteriyorum

Tam da burada listbox1 de gösterirken aşağıda resimde de gözüktüğü gibi birden fazla alt alta aynı veriler gözükmekte. Ben bunları benzersiz olarak göstermek istiyorum. Bu konuda yardımınızı rica ediyorum.

11546, 121, 1237 birden fazla değil, tek olarak görmek ve click yaptığımda filtreleme yapabilmek istiyorum :(
213400

3- Listbox1 click olayında ise ilgili filtremele yapıyorum ve Tmp2 sheetine kopyalıyorum. Listbox2 de filtreye göre listeleme yapıyorum.

Teşekkür Ederim.
 

Ekli dosyalar

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Bu şekilde işin içinden çıkmak zor oluyor , kodlar üzerinden ne yapıldığını çözmek yerine baştan kendi kodlarımı yazmak daha kolayıma geliyor :)
Yeni eklediğiniz dosyanızda form üzerindeki nesneler ile nelerin yapılmasını yazarsanız daha iyi olacaktır. Tıpkı ilk isteğinizde yazdığınız gibi , madde madde yazarsanız , istekleriniz üzerinden yazabilirim kodları.
 
Üst