• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Diziler Hakkında

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
1,080
Excel Vers. ve Dili
excel 2010

excel 2013
Merhaba, eksik olduğum bir konu olan diziler ile ilgili kendince alıştırmalar yapmaya çalışıyorum. (sayfadan diziye, diziden sayfaya, ya da liste özelliği combobox ve listbox arasında )

Aşağıdaki kodda combobox1 e iller = Array("İstanbul", "Ankara", "İzmir", "Ordu", "Samsun", "Giresun") şeklinde veri aldırıyorum. Sonra combobox a yüklenen bu verileri hem listboxa hem excel sayfasına yazdırmaya çalışıyorum.

Listboxa tüm veri aktarılırken, Excel sayfasına son sıradaki verisi yazdırılmamış oluyor. Bunun sebebi nedir?

Kod:
Private Sub UserForm_Initialize()
'Userform açıldığında veriler listboxa yüklensin.

sonsat = Sheets("Data1").Cells(Rows.Count, 1).End(3).Row

ListBox1.ColumnCount = 3
ListBox1.list = Range("A1:C" & sonsat).Value

iller = Array("İstanbul", "Ankara", "İzmir", "Ordu", "Samsun", "Giresun")
Me.ComboBox1.list() = iller
End Sub


Kod:
Private Sub CommandButton3_Click()
Dim Liste()
Liste = ComboBox1.list
If Left(ActiveSheet.Name, 4) = "Data" Then
MsgBox "Bu sayfaya veri yazdırılamaz", vbExclamation
Else
ListBox1.Clear
ListBox1.list = Liste
Range("H1").Resize(UBound(Liste), 1) = Liste
End If
End Sub

255721
 
Merhaba.
Kod:
UBound(Liste)
Bu son elemanın liste numarasını verir.
ListBox'un 1. elemanının liste numarası 0 dır (Eleman numaraları 0 dan başlar). Eleman sayısı 6 olduğuna göre son eleman numarası 5 dir.
+ 1 yapmalsıınız.
Kod:
Range("H1").Resize(UBound(Liste)+1, 1) = Liste
 
Teşekkürler. +1 yapmam gerektiğini anlamıştım, ancak mantığını kavrayamamıştım.
 
Geri
Üst