comboboxta aratıp listboxta listelemek.

Katılım
10 Mayıs 2007
Mesajlar
1,395
Excel Vers. ve Dili
2007 Türkçe
merhaba eklediğim dosyada bir listem var ve kod sayfasınada içinde bie listbox ve bir combobox olan user form açtım sorunum şu, comboboxta yazdığım veriye göre bilgiler listboxa listelensin.arama kriterim n sütunu yani satılan firmaya göre olmalı.yardımlarınız için teşekkürler.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,397
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Yapıyı olduğu gibi Form kod modulune kopyalayın.
ADO ile..
Kod:
Private cn As Object, rs As Object
 
Private Sub ComboBox1_Click()
Dim f As Byte
 
Set rs = cn.Execute( _
"select * from [DATA$] where [SATILAN FİRMA] = '" & ComboBox1 & "'"))
 
With Sheets("Sayfa2")
    .Cells.ClearContents
    For f = 0 To rs.fields.Count - 1
        .Cells(1, f + 1) = rs(f).Name
    Next
    .[a2].CopyFromRecordset rs
End With
 
rs.Close
 
ListBox1.RowSource = "Sayfa2!A2:O" & [a65000].End(3).Row
 
End Sub
 
Private Sub UserForm_Initialize()
 
Set cn = CreateObject("ADODB.Connection")
 
cn.Open _
"DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & _
    ThisWorkbook.FullName
 
Set rs = cn.Execute( _
"select distinct [SATILAN FİRMA] from [DATA$]")
 
While Not rs.EOF
    ComboBox1.AddItem rs(0)
    rs.movenext
Wend
 
rs.Close
 
With ListBox1
    .ColumnHeads = True
    .ColumnCount = 15
    .ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50;50;50;50;50"
End With
 
End Sub
 
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
cn.Close
 
Set cn = Nothing
Set rs = Nothing
End Sub
 
Son düzenleme:
Katılım
10 Mayıs 2007
Mesajlar
1,395
Excel Vers. ve Dili
2007 Türkçe
kendi dosyama uyarladım tür uyuşmazlığı uyarısı verdi sizi sıkmıyim yanlış bişeyler yaptığım garanti ilginize teşekkür edeirm
 
Katılım
10 Mayıs 2007
Mesajlar
1,395
Excel Vers. ve Dili
2007 Türkçe
mahmut bey çok güzel olmuş ama ben dosyamı yollarsam daha açıklayıcı olacağım galiba dosyam ektedir
 
Katılım
10 Mayıs 2007
Mesajlar
1,395
Excel Vers. ve Dili
2007 Türkçe
satış güncelleme ekranı satış ara butonunn altındadır yukarıdaki combobox ile yapmak istiyorum saygılar.
 
Katılım
10 Mayıs 2007
Mesajlar
1,395
Excel Vers. ve Dili
2007 Türkçe
bide listboxa tıkladığımda veriler textbox lara gelkiyor ama tarih textboxa düzgün gelmiyor
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Ekli dosyayı inceleyiniz.:cool:
Listbox'ta listelendi.:cool:
Not : çok hızlı listeleme yapar.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim i As Long, sonsat As Long, a As Long
Sheets("DATA").Select
ListBox1.ColumnCount = 15
sonsat = Cells(65536, "B").End(xlUp).Row
ReDim myarr(1 To 1, 1 To sonsat)
a = 1
myarr(1, 1) = "HEPSİ"
For i = 2 To sonsat
    If WorksheetFunction.CountIf(Range("N2:N" & i), Cells(i, "N").Value) = 1 Then
        a = a + 1
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = Cells(i, "N").Value
    End If
Next i
ComboBox1.Column = myarr
ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Click()
Dim sonsat As Long, i As Long, k As Byte, a As Long
ListBox1.RowSource = ""
sonsat = Cells(65536, "B").End(xlUp).Row
If ComboBox1.Value = "HEPSİ" Then
    ListBox1.RowSource = "A2:O" & sonsat
    Else
    ReDim myarr(1 To 15, 1 To 1)
    For i = 2 To sonsat
        If Cells(i, "N").Value = ComboBox1.Value Then
            a = a + 1
            ReDim Preserve myarr(1 To 15, 1 To a)
            For k = 1 To 15
                myarr(k, a) = Cells(i, k).Value
            Next k
        End If
    Next i
End If
If a > 0 Then ListBox1.Column = myarr
End Sub
 
Katılım
10 Mayıs 2007
Mesajlar
1,395
Excel Vers. ve Dili
2007 Türkçe
Benim yaptığım dosyada textbox yok.:cool:
hımm özür dilerim:) bide textboxlarım var listboxa çift tıklayında textboxa bilgi geliyor ama tarihi düzgün getirmiyor:) bide listwiew başllıkları yok.

yaptığım dosyayıda ekledim daha anlaşılır olmak için.
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
hımm özür dilerim:) bide textboxlarım var listboxa çift tıklayında textboxa bilgi geliyor ama tarihi düzgün getirmiyor:) bide listwiew başllıkları yok.
Tarihi düzeltirizde listbox'a başlık koyamayız.Çünkü listview değil listbox.
İsterseniz dosyanızı yollayın tarihi düzelteyim.:cool:
 
Katılım
10 Mayıs 2007
Mesajlar
1,395
Excel Vers. ve Dili
2007 Türkçe
gönderdim çok teşekkür edeirm ilginize ve sabrınıza.meslek programcılıkmı yoksa bu hobimi?
 
Üst