• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Listbox - Hücreden açma

Katılım
15 Mayıs 2015
Mesajlar
518
Excel Vers. ve Dili
Microsoft Office 2019
Arkadaşlar Merhaba;

Elimde ürünler , ürün modelleri ve fiyatları var.

Bunları listbox ta toparlamak istiyorum

ilk listboxta ayakkabayı seçince sağda modeller gözüksün

adet seçince sayfadaki son satıra eklesin

Konu hakkında yardımlarınızı bekliyorum
 

Ekli dosyalar

Aşağıdaki kodları deneyiniz.

Kod:
Dim S1 As Worksheet, S2 As Worksheet

Private Sub CommandButton1_Click()
    Dim Satir As Long
    Satir = S2.Cells(S2.Rows.Count, 1).End(3).Row + 1
    S2.Cells(Satir, 1) = Satir - 9
    S2.Cells(Satir, 2) = ListBox1.Column(0)
    S2.Cells(Satir, 5) = ListBox2.Column(0)
    S2.Cells(Satir, 6) = TextBox1
    S2.Cells(Satir, 7) = TextBox2
    S2.Cells(Satir, 8) = S2.Cells(Satir, 6) * S2.Cells(Satir, 7)
    MsgBox "Kayıt tamamlandı.", vbInformation
End Sub

Private Sub CommandButton2_Click()
    Unload Me
End Sub

Private Sub ListBox1_Click()
    Dim Son As Long, Liste As Variant
    Dim Dizi As Object, X As Long, Say As Long
    
    Set S1 = Sheets("LİSTE")
    Set S2 = Sheets("TEKLİF")
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    Liste = S1.Range("A2:C" & Son).Value
    Set Dizi = CreateObject("Scripting.Dictionary")
    ReDim Yeni_Liste(1 To 2, 1 To 1)
    
    For X = 1 To UBound(Liste, 1)
        If ListBox1.Column(0) = Liste(X, 1) Then
            If Not Dizi.Exists(Liste(X, 2)) Then
                Dizi.Add Liste(X, 2), Nothing
                Say = Say + 1
                ReDim Preserve Yeni_Liste(1 To 2, 1 To Say)
                Yeni_Liste(1, Say) = Liste(X, 2)
                Yeni_Liste(2, Say) = Liste(X, 3)
            End If
        End If
    Next
    ListBox2.Column = Yeni_Liste
End Sub

Private Sub ListBox2_Click()
    TextBox2 = ListBox2.Column(1)
End Sub

Private Sub UserForm_Initialize()
    Dim S1 As Worksheet, Son As Long, Liste As Variant
    Dim Dizi As Object, X As Long, Say As Long
    
    Set S1 = Sheets("LİSTE")
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    Liste = S1.Range("A2:A" & Son).Value
    Set Dizi = CreateObject("Scripting.Dictionary")
    
    For X = 1 To UBound(Liste, 1)
        If Not Dizi.Exists(Liste(X, 1)) Then
            Dizi.Add Liste(X, 1), Nothing
        End If
    Next
    ListBox1.List = Dizi.Keys
End Sub
 
Geri
Üst