Diziler Hakkında

walabi

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

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
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
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,279
Excel Vers. ve Dili
2019 Türkçe
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
 

walabi

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

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Teşekkürler. +1 yapmam gerektiğini anlamıştım, ancak mantığını kavrayamamıştım.
 
Üst