Soru Comboboxun listindex değerine göre diğer comboboxa değer atama

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Merhaba arkadaşlar,
Bir listem ve aynı userform üzerinde iki combobox var.
1.combobox,
s = WorksheetFunction.CountA(Range("a1:a200"))
combobox1.RowSource = "a1:a" & s

kodları ile A sütununu yani 1.sütunu listeliyor.

combobox1'de kaçıncı değere tıklarsam 2.comboboxa o sıradaki sütunun verileri aktarılsın istiyorum.
Örneğin; 1. comboboxta 3.değere tıklarsam 2.comboboxta 3.sütundaki yani C sütunundaki değerler listelensin...
Teşekkür ederim...
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Userformda en üst satıra yazınız.

Kod:
Dim s As Integer
Dim a As Integer
Dim b As Integer
Aşağıdaki kodlarıda userforma ekleyiniz.
Kod:
Private Sub ComboBox1_Change()
On Error Resume Next
    a = Me.ComboBox1.ListIndex + 1
    b = WorksheetFunction.CountA(Range(Cells(1, a), Cells(100000, a)))
    For i = 3 To Len(Cells(1, a).Address)
        If Mid(Cells(1, a).Address, i, 1) = "$" Then
            sütunharf = Mid(Cells(1, a).Address, 2, i - 2)
            Me.ComboBox2.RowSource = sütunharf & "1:" & sütunharf & b
            Exit Sub
        End If
    Next i
End Sub
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Emeğinize teşekkür ederim ama maalesef olmadı. Hiç bir işlem yok...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,765
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Private Sub ComboBox1_Change()
    ComboBox2.RowSource = ""
    If ComboBox1.ListIndex >= 0 Then
        Sutun = ComboBox1.ListIndex + 1
        Son = Cells(Rows.Count, Sutun).End(3).Row
        Adres = Cells(1, Sutun).Resize(Son).Address
        ComboBox2.RowSource = Adres
    End If
End Sub

Private Sub UserForm_Initialize()
    Son = WorksheetFunction.CountA(Range("A1:A200"))
    ComboBox1.RowSource = "A1:A" & Son
End Sub
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Sutun = ComboBox1.ListIndex + 1 satırını
Sutun = ComboBox1.ListIndex + 2 şeklinde düzenleyince tam istenen sonuç oldu. İnşallah sonradan başka sorun vermez.
emeğiniz için çok teşekkür ederim.
 
Üst