• DİKKAT

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

Diziler Hakkında

Katılım
22 Eylül 2012
Mesajlar
1,065
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,782
Excel Vers. ve Dili
2021 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
 
Katılım
22 Eylül 2012
Mesajlar
1,065
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