sütunda veri var ise listboxa almasın

Katılım
12 Eyl 2019
Mesajlar
469
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Kod:
With Me.ListBox1
.ColumnCount = 20 ' Kaç Sütun Görünecek
.ColumnWidths = "20;70;70;70;220;250;160;20;20;160;20;20;160;20;20;30;30;30;30;30" ' Sütun Genişlikleri
.List = Sheets("İhale").Range("A2:T" & [İhale!B65536].End(3).Row).Value
End With

Yukarıda ki kod ile ihale sayfasındaki veriyi listboxa alıyorum. Ancak bir kod eklemek istiyorum
İhale sayfasında V sütununda "Bağlandı" W sütununda da tarih var ise Listbox listesine almamasını istiyorum. Rica etsem yardımcı olabilir misiniz?
 
Çözüm
@berkbaba

UserForm_Initalize kodunu aşağıdakiyle değiştirin.

VBA:
Private Sub UserForm_Initialize()
Set ih = Sheets("ihale")
ReDim brn(1 To 20, 1 To 1)
v = ih.Range("A2:W" & ih.Cells(Rows.Count, 1).End(3).Row).Value
For a = 1 To UBound(v)
    If Not v(a, 22) = "Bağlandı" And Not IsDate(v(a, 23)) Then
        s = s + 1: ReDim Preserve brn(1 To 20, 1 To s)
        For u = 1 To 20: brn(u, s) = v(a, u): Next
    End If
Next
With Me.ListBox1
    .ColumnCount = 20 ' Kaç Sütun Görünecek
    .ColumnWidths = "20;70;70;70;220;250;160;20;20;160;20;20;160;20;20;30;30;30;30;30" ' Sütun Genişlikleri
    If s = 1 Then .Column = brn
    If s > 1 Then .List = Application.Transpose(brn)
End With
End Sub
@berkbaba
Sorularınızı,
gerçek belgenizin, özel bilgi içermeyen kopyası şeklinde hazırlanmış örnek belgeler üzerinden sorarsanız,
daha hızlı ve net çözümlere ulaşmanız kolaylaşır.
 
@berkbaba

UserForm_Initalize kodunu aşağıdakiyle değiştirin.

VBA:
Private Sub UserForm_Initialize()
Set ih = Sheets("ihale")
ReDim brn(1 To 20, 1 To 1)
v = ih.Range("A2:W" & ih.Cells(Rows.Count, 1).End(3).Row).Value
For a = 1 To UBound(v)
    If Not v(a, 22) = "Bağlandı" And Not IsDate(v(a, 23)) Then
        s = s + 1: ReDim Preserve brn(1 To 20, 1 To s)
        For u = 1 To 20: brn(u, s) = v(a, u): Next
    End If
Next
With Me.ListBox1
    .ColumnCount = 20 ' Kaç Sütun Görünecek
    .ColumnWidths = "20;70;70;70;220;250;160;20;20;160;20;20;160;20;20;30;30;30;30;30" ' Sütun Genişlikleri
    If s = 1 Then .Column = brn
    If s > 1 Then .List = Application.Transpose(brn)
End With
End Sub
 
Çözüm
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt