Matching Sorunu

mamita

Altın Üye
Katılım
10 Ocak 2021
Mesajlar
92
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
24-11-2026
Merhaba,

Oluşturduğum userformdaki Listbox nesnesine;
Daha önce oluşturduğum combobox nesnesindeki veriyi gözeterek excel sayfasından veri getirmek istiyorum
Kısacası match fonksiyonuyla comboboxdaki datanın excel sayfasındaki index ini belirleyip hemen bir yanındakiyi veriyi listboxa yazdırmasını istiyorum

Bunun için initialize kısmına

Dim x As Variant
x = WorksheetFunction.Match((ComboBox2_malzemecinsi.Value), Worksheets("Malzeme").Range("A:A"), 0)
ListBox2.Value = Worksheets("Malzeme").Cells(x, 2)

bu şekilde kod yazdım fakat subscript hatası alıyorum Yardımcı olabilir misiniz

Combox_malzemecinsi=Match etmek istediğim değer
Malzeme=Verinin bulunduğu excel sayfası (A sutünunda)
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Sanırım aşağıdaki kodlar size fikir verecektir.
C++:
Private Sub ComboBox1_Click()
    Dim x As Variant
    x = WorksheetFunction.Match((ComboBox1.Value), Worksheets("Sayfa1").Range("A:A"), 0)
    ListBox1.AddItem Worksheets("Sayfa1").Cells(x, 2)
End Sub
Private Sub UserForm_Initialize()
    ComboBox1.RowSource = "Sayfa1!A2:A13"
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Kod:
Sub Test()
    Dim Bak As Range
    Set Bak = Worksheets("Malzeme").Range("A:A").Find(what:=ComboBox2_malzemecinsi.Value, lookat:=xlWhole)
    ListBox2.Value = Worksheets("Malzeme").Cells(Bak.Row, "B")
End Sub
 

mamita

Altın Üye
Katılım
10 Ocak 2021
Mesajlar
92
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
24-11-2026
Sanırım aşağıdaki kodlar size fikir verecektir.
C++:
Private Sub ComboBox1_Click()
    Dim x As Variant
    x = WorksheetFunction.Match((ComboBox1.Value), Worksheets("Sayfa1").Range("A:A"), 0)
    ListBox1.AddItem Worksheets("Sayfa1").Cells(x, 2)
End Sub
Private Sub UserForm_Initialize()
    ComboBox1.RowSource = "Sayfa1!A2:A13"
End Sub
Saygı değer Ömer Faruk hocam;
Öncelikle paylaşımınız için çok teşekkür ederim. Sorulara öğretici yaklaşımınız için ayrıca müteşekkirim.
Aradığım objenin listbox yerine textbox olması gerektiğini fark ettim
Şuan kod tam istediğim gibi çalışıyor
Sizin yazdığınız kodla listbox kullanımı da öğrenmiş oldum
 

mamita

Altın Üye
Katılım
10 Ocak 2021
Mesajlar
92
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
24-11-2026
Merhaba.

Kod:
Sub Test()
    Dim Bak As Range
    Set Bak = Worksheets("Malzeme").Range("A:A").Find(what:=ComboBox2_malzemecinsi.Value, lookat:=xlWhole)
    ListBox2.Value = Worksheets("Malzeme").Cells(Bak.Row, "B")
End Sub
Saygıdeğer Muzaffer hocam desteğiniz için teşekkür ederim Yazdığınız kodla find fonksiyonunun kullanımını öğrenmiş oldum
 
Üst