- Katılım
- 14 Ocak 2005
- Mesajlar
- 792
- Excel Vers. ve Dili
- Ofis 2010 2016
- Altın Üyelik Bitiş Tarihi
- 13/03/2022
Selamlar arkadaşlar aşağıda resimlerle açıklamaya çalıştığım konuyu kısaca özetleyecek olursam.
1- Verileri kaydettiğim sayfamda aşağıdaki gibi
Resim1 (Veri sayfasının görünümü)
buradan 1 kriterim tarih sutunu olan b ikinci kiriterimde tür olan de sutunu buna göre veriyi bulup redimle listboxa aktarmak istiyorum.
belki başka yolu vardır
Yapmak istediğim kısaca şu şekilde
resim2 (Listboxa listelenmiş hali)
benim Redimle kullandığım kodlarım da şu şekilde
1- Verileri kaydettiğim sayfamda aşağıdaki gibi
Resim1 (Veri sayfasının görünümü)


buradan 1 kriterim tarih sutunu olan b ikinci kiriterimde tür olan de sutunu buna göre veriyi bulup redimle listboxa aktarmak istiyorum.
belki başka yolu vardır
Yapmak istediğim kısaca şu şekilde
resim2 (Listboxa listelenmiş hali)


benim Redimle kullandığım kodlarım da şu şekilde
Kod:
Dim BUL As Range, ADRES As String, VERİ As Variant, Satir As Long
Dim ay As Integer
Satir = 1
ReDim myarr(1 To 11, 1 To 1)
ay = Sheets("Parametre").Range("B2")
If TextBox1 = "" Then
'ListBox2.RowSource = "veri!B2:E" & Sheets("veri").Cells(Rows.Count, 1).End(3).Row
ListBox2.RowSource = ""
ListBox2.Clear
If OptionButton1 = True Then
VERİ = "A" & "*"
Else
VERİ = "*" & "A" & "*"
End If
Set BUL = Sheets("veri").Range("B:B").Find(VERİ, , , xlWhole)
If Not BUL Is Nothing Then
ADRES = BUL.Address
Do
' eski atama şekli additem yöntemi ile
' bUda redim dizi yöntemi ile
ReDim Preserve myarr(1 To 11, 1 To Satir)
myarr(1, Satir) = BUL.Offset(0, -1).Value
myarr(2, Satir) = BUL.Offset(0, 0).Value
myarr(3, Satir) = BUL.Offset(0, 1).Value
myarr(4, Satir) = BUL.Offset(0, (ay * 2) + 6).Value
myarr(5, Satir) = BUL.Offset(0, 2).Value
myarr(6, Satir) = BUL.Offset(0, 3).Value
myarr(7, Satir) = BUL.Offset(0, 4).Value
myarr(8, Satir) = BUL.Offset(0, 5).Value
myarr(9, Satir) = BUL.Offset(0, 6).Value
myarr(10, Satir) = BUL.Offset(0, 7).Value
myarr(11, Satir) = BUL.Offset(0, (ay * 2) + 7).Value
Satir = Satir + 1
Set BUL = Sheets("veri").Range("B:B").FindNext(BUL)
Loop While Not BUL Is Nothing And BUL.Address <> ADRES
If Satir > 0 Then ListBox2.Column = myarr
End If
If ListBox2.ListCount > 0 Then ListBox2.ListIndex = 0
'Label5.Caption = "LİSTELENEN KAYIT SAYISI = " & Format(ListBox2.ListCount, "#,##0")
Else
ListBox2.RowSource = ""
ListBox2.Clear
If OptionButton1 = True Then
VERİ = TextBox1.Value
Else
VERİ = "*" & TextBox1.Value & "*"
End If
Set BUL = Sheets("veri").Range("B:B").Find(VERİ, , , xlWhole)
If Not BUL Is Nothing Then
ADRES = BUL.Address
Do
' bUda redim dizi yöntemi ile
ReDim Preserve myarr(1 To 11, 1 To Satir)
myarr(1, Satir) = BUL.Offset(0, -1).Value
myarr(2, Satir) = BUL.Offset(0, 0).Value
myarr(3, Satir) = BUL.Offset(0, 1).Value
myarr(4, Satir) = BUL.Offset(0, (ay * 2) + 6).Value
myarr(5, Satir) = BUL.Offset(0, 2).Value
myarr(6, Satir) = BUL.Offset(0, 3).Value
myarr(7, Satir) = BUL.Offset(0, 4).Value
myarr(8, Satir) = BUL.Offset(0, 5).Value
myarr(9, Satir) = BUL.Offset(0, 6).Value
myarr(10, Satir) = BUL.Offset(0, 7).Value
myarr(11, Satir) = BUL.Offset(0, (ay * 2) + 7).Value
Satir = Satir + 1
Set BUL = Sheets("veri").Range("B:B").FindNext(BUL)
Loop While Not BUL Is Nothing And BUL.Address <> ADRES
If Satir > 0 Then ListBox2.Column = myarr
End If
If ListBox2.ListCount > 0 Then ListBox2.ListIndex = 0
'Label5.Caption = "LİSTELENEN KAYIT SAYISI = " & Format(ListBox2.ListCount, "#,##0")
End If
ama burda listbox1 e 02.01.2012 yazınca hiç bir görüntü alamadım. sebebi ne olabilir belki başka yöntemi vardır.
Yardımlarınız için şimdiden teşekkür ederim.
Son düzenleme: