Combobox Vba Kodları Oluşturmak

1 2 3
29/01/2021, 22:50

berduş

@feraz hocam dictionary yerine find komutu da kullanılabilirdi bence)
29/01/2021, 22:52

feraz

(29/01/2021, 22:50)berduş yazdı: @feraz hocam dictionary yerine find komutu da kullanılabilirdi bence)
Ben dictionaryi daha çok seviyorum abey çünkü hızlı Find yerine findnext kullanılırdı do while ile abey.
29/01/2021, 22:59

berduş

ben kast ettiğim g sütunundaki tesis adını getirmekle ilgiliydi
h sütununda tek değer var h sütununda find ile o hücrenin hangi satırda odluğunu bulunca bir önceki sütundan tesis adını alabiliriz döngünün gerisi için o yeterlidir diye düşünüyorum. comboboxa gizli sütun eklemeden find ile o değerin satırı bulunup g den alınabilir o anlamda kullandım

ama fazladan bir sütun eklemenin bir etkisi olur mu işleme, yavaşlatır mı yani?
29/01/2021, 23:20

feraz

Sizimi kıracağız Halil hocam yapmışken Find ve Findnext ilede yapalım.
Tabii sizin kod daha kullanışlı gibi.

Private Sub ComboBox1_Change()
    Dim bul As Range, adres As String, aranan As String

    Me.ComboBox3.Clear: Me.ComboBox4.Clear
    With Sayfa3
        Set bul = .Range("H:H").Find(Me.ComboBox1.Value, , xlValues, 1)
        If Not bul Is Nothing Then aranan = bul.Offset(0, -1).Value
        getir "D         getir "A:A", Me.ComboBox4, .Name, aranan
           
    End With
    Set bul = Nothing
End Sub

Sub getir(alan As String, cbo As MSForms.ComboBox, sayfa As String, aranan As String)
    If aranan = "" Then Exit Sub
    With ThisWorkbook.Sheets(sayfa)
        Set bul = .Range(alan).Find(aranan, , xlValues, 1)
        If Not bul Is Nothing Then
            adres = bul.Address
            Do
                cbo.AddItem bul.Offset(0, 1).Value
                Set bul = .Range(alan).FindNext(bul)
            Loop While Not bul Is Nothing And adres <> bul.Address
        End If
    End With
End Sub

Private Sub UserForm_Initialize()
    sonstr = Sayfa3.Cells(Sayfa3.Rows.Count, "h").End(xlUp).Row
    Me.ComboBox1.List = Sayfa3.Range("h2:h" & sonstr).Value
End Sub
29/01/2021, 23:34

berduş

Teşekkürler @feraz hocam)))
29/01/2021, 23:39

feraz

(29/01/2021, 23:34)berduş yazdı: Teşekkürler @feraz hocam)))
Biz size teşekkür ederiz abey
1 2 3