DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Private Sub ListBox2_Click()
x = ListBox2.ListIndex + 2
ListBox1.RowSource = Range("c" & x & ":g" & x).Address
End Sub
Private Sub UserForm_Initialize()
'ListBox2.ColumnCount = 1
'ListBox2.ColumnWidths = "30;60;30;60,60"
ListBox2.RowSource = "Sayfa1!b2:c" & Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row
ListBox2.ColumnHeads = True
End Sub
Bu şekilde deneyin.
Kod:Private Sub ListBox2_Click() x = ListBox2.ListIndex + 2 ListBox1.RowSource = Range("c" & x & ":g" & x).Address End Sub Private Sub UserForm_Initialize() 'ListBox2.ColumnCount = 1 'ListBox2.ColumnWidths = "30;60;30;60,60" ListBox2.RowSource = "Sayfa1!b2:c" & Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row ListBox2.ColumnHeads = True End Sub
[B][COLOR="red"]Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)[/COLOR][/B]
Application.ScreenUpdating = False
Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").Range("A1:G" & Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").Cells(Rows.Count, 1).End(3).Row).ClearContents
Sheets("Sayfa1").Range("A1:G1").AutoFilter Field:=2, Criteria1:=ListBox2.ListIndex + 1
Sheets("Sayfa1").Range("A1:G" & Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row).Copy _
Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").[A1]
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "50;100;60;60"
Sheets("Sayfa1").Range("A1:G1").AutoFilter Field:=2
ListBox1.RowSource = "[B][COLOR="Blue"]Sayfa3[/COLOR][/B]!D2:G" & Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").Cells(Rows.Count, 1).End(3).Row
ListBox1.ColumnHeads = True
Application.ScreenUpdating = False
[B][COLOR="Red"]End Sub[/COLOR][/B]
Merhaba.
Listelerinizdeki satır sayısı çoğaldığında yavaşlama olmaması bakımından;
For...Next döngüsüyle verileri alttaki Listbox'a aktarmak yerine,
Sayfa3'ü alttaki Listbox için veri kaynağı olarak kullanmak uygun sanırım.
Üstteki Listboxta çift tıklanan isime ait Sayfa1'deki veriler Sayfa3'e aktarılır, oradan da alttaki Listbox'ta görüntülenir.
Userform'a ait kodlara aşağıdakini de ekleyin.
.Kod:[B][COLOR="red"]Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)[/COLOR][/B] Application.ScreenUpdating = False Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").Range("A1:G" & Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").Cells(Rows.Count, 1).End(3).Row).ClearContents Sheets("Sayfa1").Range("A1:G1").AutoFilter Field:=2, Criteria1:=ListBox2.ListIndex + 1 Sheets("Sayfa1").Range("A1:G" & Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row).Copy _ Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").[A1] ListBox1.ColumnCount = 4 ListBox1.ColumnWidths = "50;100;60;60" Sheets("Sayfa1").Range("A1:G1").AutoFilter Field:=2 ListBox1.RowSource = "[B][COLOR="Blue"]Sayfa3[/COLOR][/B]!D2:G" & Sheets("[B][COLOR="Blue"]Sayfa3[/COLOR][/B]").Cells(Rows.Count, 1).End(3).Row ListBox1.ColumnHeads = True Application.ScreenUpdating = False [B][COLOR="Red"]End Sub[/COLOR][/B]
Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim Ss As Worksheet, S1 As Worksheet, c As Range, Adr As String, deg, a, dizi()
Set Ss = Sheets("FİRMA")
Set S1 = Sheets("Sayfa1")
deg = Ss.Cells(ListBox2.ListIndex + 2, "A")
ReDim dizi(1 To 4, 1 To 1)
ListBox1.ColumnCount = 4
ListBox1.ColumnWidths = "60;90;70,60"
Set c = S1.[B:B].Find(deg, , xlValues, xlWhole)
If Not c Is Nothing Then
Adr = c.Address
Do
a = a + 1
ReDim Preserve dizi(1 To 4, 1 To a)
For j = 1 To 4
dizi(j, a) = S1.Cells(c.Row, j + 3).Value
Next j
Set c = S1.[B:B].FindNext(c)
Loop While Not c Is Nothing And c.Address <> Adr
End If
ListBox1.Column = dizi
End Sub
Private Sub UserForm_Initialize()
With ListBox2
.ColumnCount = 2
.ColumnWidths = "30;60"
.RowSource = "FİRMA!A2:B" & Sheets("FİRMA"). _
Cells(Rows.Count, "A").End(xlUp).Row
.ColumnHeads = True
End With
End Sub
Merhaba,
Uğraşmıştım boşa gitmesin.
Alternatif:
Eski kodları silerek yeni kodları ekleyin.
Kod:Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim Ss As Worksheet, S1 As Worksheet, c As Range, Adr As String, deg, a, dizi() Set Ss = Sheets("FİRMA") Set S1 = Sheets("Sayfa1") deg = Ss.Cells(ListBox2.ListIndex + 2, "A") ReDim dizi(1 To 4, 1 To 1) ListBox1.ColumnCount = 4 ListBox1.ColumnWidths = "60;90;70,60" Set c = S1.[B:B].Find(deg, , xlValues, xlWhole) If Not c Is Nothing Then Adr = c.Address Do a = a + 1 ReDim Preserve dizi(1 To 4, 1 To a) For j = 1 To 4 dizi(j, a) = S1.Cells(c.Row, j + 3).Value Next j Set c = S1.[B:B].FindNext(c) Loop While Not c Is Nothing And c.Address <> Adr End If ListBox1.Column = dizi End Sub Private Sub UserForm_Initialize() With ListBox2 .ColumnCount = 2 .ColumnWidths = "30;60" .RowSource = "FİRMA!A2:B" & Sheets("FİRMA"). _ Cells(Rows.Count, "A").End(xlUp).Row .ColumnHeads = True End With End Sub
.
Dosya ekte.
.
hocam süpersiniz çok teşekkür ederim Allah razı olsun