Listeleme

Katılım
12 Mayıs 2005
Mesajlar
15
Merhaba. İyi akşamlar.
Excel dosyamdaki YünData sayfasındaki verileri Userformda oluşturduğum Lisbox'a (LbListe) aktarıp listeleme için macro koduna ihtiyacım vardı. İnternette aşağıdaki koda denk geldim. Alıp kendi dosyamda kullandım, ancak listeleme yaptığım sayfanın 1'inci satırını listeye eklemiyor. Listelemeye 2. satırdan başlıyor. Bu durumu düzeltmek için ne yapabilirim?
Private Sub CmdListeleY_Click()

Dim liste(), myarr(), sat As Long, i As Long, a As Long
LbListe.Clear
SonSatırDolu = wsYünData.Range("A50000").End(3).Row
liste = wsYünData.Range("A2:L" & SonSatırDolu).Value
ReDim myarr(1 To 12, 1 To SonSatırDolu)
For i = 1 To UBound(liste, 1)
If liste(i, 1) <> "" Then
a = a + 1
myarr(1, a) = Format(CDate(liste(i, 1)), "dd.mm.yyyy")
myarr(2, a) = liste(i, 2)
myarr(3, a) = liste(i, 3)
myarr(4, a) = liste(i, 4)
myarr(5, a) = liste(i, 5)
myarr(6, a) = liste(i, 6)
myarr(7, a) = liste(i, 7)
myarr(8, a) = liste(i, 8)
myarr(9, a) = liste(i, 9)
myarr(10, a) = liste(i, 10)
myarr(11, a) = liste(i, 11)
myarr(12, a) = liste(i, 12)


End If

Next i
Erase liste
If a > 0 Then
ReDim Preserve myarr(1 To 12, 1 To a)
LbListe.Column = myarr
End If
Erase myarr

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,201
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Eğer bahsettiğiniz A1:L1 aralığı ise aşağıdaki kod satırındaki koyu bölümü 1 yapmanız durumu çözecektir.

liste = wsYünData.Range("A2:L" & SonSatırDolu).Value

Bu düzeltmeden sonra büyük ihtimalle tarih formatına çeviren dizi satırı hata verecektir. Bunu aşmak içinde a = a + 1 satırının altındaki ilk satır yerine aşağıdaki bloğu yazmanız sorunu çözecektir.

C++:
If Not IsNumeric(liste(i, 1)) Then
    myarr(1, a) = liste(i, 1)
Else
    myarr(1, a) = Format(CDate(liste(i, 1)), "dd.mm.yyyy")
End If
 
Katılım
12 Mayıs 2005
Mesajlar
15
Merhaba,

Eğer bahsettiğiniz A1:L1 aralığı ise aşağıdaki kod satırındaki koyu bölümü 1 yapmanız durumu çözecektir.

liste = wsYünData.Range("A2:L" & SonSatırDolu).Value

Bu düzeltmeden sonra büyük ihtimalle tarih formatına çeviren dizi satırı hata verecektir. Bunu aşmak içinde a = a + 1 satırının altındaki ilk satır yerine aşağıdaki bloğu yazmanız sorunu çözecektir.

C++:
If Not IsNumeric(liste(i, 1)) Then
    myarr(1, a) = liste(i, 1)
Else
    myarr(1, a) = Format(CDate(liste(i, 1)), "dd.mm.yyyy")
End If
Korhan Bey çok teşekkür ederim. Sorun halloldu.
İyi çalışmalar dilerim.
 
Üst