Comboboxdan ilgili ayları seçince o aya ait ürün ve adetleri listele

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,478
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Merhaba arkadaşlar;
Combobox4 te aylar var. Combobox4 te ayı seçince "PV" Sayfasında o aya ait Üretilmesi planlanan ürünlerin listesi ni ve adetlerini 2 sütun halinde Listbox4 e süzmesi için nasıl bir kod yazılabilir. inşallah anlatabilmişimdir. Örnek dosyada ekliyorum.
 

Ekli dosyalar

dgdizayn

Altın Üye
Katılım
7 Mart 2011
Mesajlar
138
Excel Vers. ve Dili
OFFİCE 2019 EN
Altın Üyelik Bitiş Tarihi
04-05-2028
Merhaba,

Aradığınız böyle birşey midir.

Kod:
Private Sub ComboBox4_Change()

    Dim ws As Worksheet
    Dim lastRow As Long, i As Long
    Dim product As String, qty As Long
    
    ' "PV" sayfasına referans alınır
    Set ws = ThisWorkbook.Worksheets("PV")
    
    ' Listbox4 temizlenir
    Me.ListBox4.Clear
    
    ' "PV" sayfasındaki son satır belirlenir
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
    ' Seçilen aydaki ürünlerin listesi filtrelenir ve Listbox4'e eklenir
    For i = 2 To lastRow
        If Month(ws.Cells(i, 3).Value) = Me.ComboBox4.Value Then
            product = ws.Cells(i, 1).Value
            qty = ws.Cells(i, 2).Value
            Me.ListBox4.AddItem product & ";" & qty
        End If
    Next i
    
End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,478
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Dim ws As Worksheet Dim lastRow As Long, i As Long Dim product As String, qty As Long ' "PV" sayfasına referans alınır Set ws = ThisWorkbook.Worksheets("PV") ' Listbox4 temizlenir Me.ListBox4.Clear ' "PV" sayfasındaki son satır belirlenir lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Seçilen aydaki ürünlerin listesi filtrelenir ve Listbox4'e eklenir For i = 2 To lastRow If Month(ws.Cells(i, 3).Value) = Me.ComboBox4.Value Then product = ws.Cells(i, 1).Value qty = ws.Cells(i, 2).Value Me.ListBox4.AddItem product & ";" & qty End If Next i
İlginiz için teşekkür ederim.
Kodu denediğimde
run time error 13
typme mismatch
hatası veriyor
ve aşağıdaki kod satırını işaretliyor

Kod:
If Month(ws.Cells(i, 3).Value) = Me.ComboBox4.Value Then
[code]

saygılarımla
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,478
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Konu günceldir.
Yardımcı olabilecek bir hocam varsa çok sevinirim.
Saygılarımla
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub ComboBox4_Change()
    
    With CreateObject("ADODB.Recordset")
        .Open " SELECT [Ürün Adı]," & ComboBox4.Text & " FROM [PV$A1:M" & Sheets("PV").Cells(Rows.Count, 1).End(xlUp).Row & "]" & _
              " WHERE NOT " & ComboBox4.Text & " IS NULL", _
              "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0 Xml;HDR=YES';" & _
              "Data Source=" & ActiveWorkbook.FullName
        If .EOF = False Then
            ListBox4.Column = .GetRows()
        Else
            ListBox4.Clear
        End If
    End With

End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,478
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
Kod:
Private Sub ComboBox4_Change()
   
    With CreateObject("ADODB.Recordset")
        .Open " SELECT [Ürün Adı]," & ComboBox4.Text & " FROM [PV$A1:M" & Sheets("PV").Cells(Rows.Count, 1).End(xlUp).Row & "]" & _
              " WHERE NOT " & ComboBox4.Text & " IS NULL", _
              "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0 Xml;HDR=YES';" & _
              "Data Source=" & ActiveWorkbook.FullName
        If .EOF = False Then
            ListBox4.Column = .GetRows()
        Else
            ListBox4.Clear
        End If
    End With

End Sub
Hocam emeğiniz ve ilginiz için teşekkür ederim.
kodu denedim. çalışıyor.
Ancak sadece ürün adını getiriyor. Listbox 2 sütunlu olarak o ayların altında yazan rakamları yani üretim mikktarlarını da listboxun 2. stünuna getirmesi mümkün mü?

Saygılarımla
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Listbox4 ün columnCount 2 ayarlayın
 
Üst