2 Listbox arası aktarım

Katılım
25 Mayıs 2018
Mesajlar
24
Excel Vers. ve Dili
2010 türkçe ingilizce
Merhabalar,
Userformda 2 tane listbox var(1 ve 2), Listbox1 deki verileri excelden sorunsuz çekiyorum ve listem oluşuyor. Listbox2 ye ise 1 deki örneğin 2.satır 7.sütün değeri boşsa listbox2 ye çekmesini istiyorum. Onun için şu şekilde yazdım ama listbox1 deki veriyi okurken hata veriyor. Sarı işaretli satır. Hata kodu 8007000e bu işlemi tamamlamak için yeterli bellek alanı yok. Sorun çözülebilirmi?
Listbox1 hazırlanırken o anda da o değerin boş olup olmadığını kontrol edip sayfa2 ye tablo oluşturup listbox2 ye veriyi oradan sağlamak dahamı hızlı olur?


Private Sub CommandButton1_Click()
ii = 0
With ListBox1
.ColumnCount = 10

For i = 1 To .ListCount - 1
eleman = .List(i, 2)
If eleman <> "" Then
Else
ii = ii + 1
ListBox2.List(ii, 0) = .List(i, 0).Value
ListBox2.List(ii, 1) = .List(i, 1).Value
ListBox2.List(ii, 2) = .List(i, 2).Value
ListBox2.List(ii, 3) = .List(i, 3).Value
ListBox2.List(ii, 4) = .List(i, 4).Value
ListBox2.List(ii, 5) = .List(i, 5).Value
ListBox2.List(ii, 6) = .List(i, 6).Value
ListBox2.List(ii, 7) = .List(i, 7).Value
ListBox2.List(ii, 8) = .List(i, 8).Value
ListBox2.List(ii, 9) = .List(i, 9).Value

End If
Next i
End With
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim i, ii
    ii = 0
    With ListBox1
    ListBox2.Clear
    ListBox2.ColumnCount = 10
    .ColumnCount = 10
        For i = 1 To .ListCount - 1
            If .List(i, 2) = "" Then
                ListBox2.AddItem .List(i, 0)
                ListBox2.List(ii, 1) = .List(i, 1)
                ListBox2.List(ii, 2) = .List(i, 2)
                ListBox2.List(ii, 3) = .List(i, 3)
                ListBox2.List(ii, 4) = .List(i, 4)
                ListBox2.List(ii, 5) = .List(i, 5)
                ListBox2.List(ii, 6) = .List(i, 6)
                ListBox2.List(ii, 7) = .List(i, 7)
                ListBox2.List(ii, 8) = .List(i, 8)
                ListBox2.List(ii, 9) = .List(i, 9)
                ii = ii + 1
            End If
        Next i
    End With
End Sub
 
Son düzenleme:
Katılım
25 Mayıs 2018
Mesajlar
24
Excel Vers. ve Dili
2010 türkçe ingilizce
Merhaba.
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim i, ii, eleman
    ii = 0
    With ListBox1
    ListBox2.ColumnCount = 10
    .ColumnCount = 10
        For i = 1 To .ListCount - 1
            eleman = .List(i, 2)
            If eleman <> "" Then
            Else
                ListBox2.AddItem .List(i, 0)
                ListBox2.List(ii, 1) = .List(i, 1)
                ListBox2.List(ii, 2) = .List(i, 2)
                ListBox2.List(ii, 3) = .List(i, 3)
                ListBox2.List(ii, 4) = .List(i, 4)
                ListBox2.List(ii, 5) = .List(i, 5)
                ListBox2.List(ii, 6) = .List(i, 6)
                ListBox2.List(ii, 7) = .List(i, 7)
                ListBox2.List(ii, 8) = .List(i, 8)
                ListBox2.List(ii, 9) = .List(i, 9)
                ii = ii + 1
            End If
        Next i
    End With

End Sub
Cevabınız için teşekkür ederim
eleman satırında hala aynı hatayı veriyor. i=1 eleman=empty
 
Katılım
25 Mayıs 2018
Mesajlar
24
Excel Vers. ve Dili
2010 türkçe ingilizce
Sorunu anladım şimdi çalışıyor kodlar. Başka bir excelden çekiyordum listbox1 verilerini çektikten sonra kapatıyordu o dosyayı. Açık bırakınca normale döndü.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Bende hata vermiyor ama yinede kodları revize ettim.
Tekrar deneyin.
Eğer yine hata verirse hata mesajını tam olarak yazın.
 
Üst