ComboBox.AddItem veri alma

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
Combobox'a "veriler" sayfamın D sütunundan veriler alıyorum. Lakin sütundaki verilerimin arasındaki kimi zaman 3 satır, kimi zaman 5 satır boş hücreler var.

Kod:
Private Sub UserForm_Activate()
Dim satir As Integer
satir = 2

Do While satir <> Sheets("veriler").Cells(Rows.Count, "D").End(xlUp).Row + 1   'son dolu satıra kadar tüm verileri alıyor
'Do While Sheets("veriler").Cells(satir, 4).Value <> ""   'ilk boşluğa kadar veri alıyor
ComboBox1.AddItem Sheets("veriler").Cells(satir, 4).Value
satir = satir + 1
Loop

End Sub
Benim isteğim ;
Verilerimin arasındaki boş hücre sayısı farklılık göstermesin. Aralarındaki boş hücre 2 satır olsun

Örn.
A
B
boşluk - 1
boşluk - 2
C
D
E
boşluk - 1
boşluk - 2
F
G
H
vb.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kod:
Private Sub UserForm_Activate()
Dim i As Long
For i = 2 To Sheets("veriler").Cells(Rows.Count, "D").End(xlUp).Row
    If Sheets("veriler").Cells(i, "D").Value <> "" Then
        ComboBox1.AddItem Sheets("veriler").Cells(i, 4).Value
    End If
Next
End Sub
 
Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
Sayın Orion

"ComboBox1.AddItem Sheets("veriler").Cells(satir, 4).Value" kodunda hata verdi. Sanıyorum "satir" ile ilgili bir değişken atanmamış
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Orion

"ComboBox1.AddItem Sheets("veriler").Cells(satir, 4).Value" kodunda hata verdi. Sanıyorum "satir" ile ilgili bir değişken atanmamış
2 numaralı mesajda tekrar güncelledim.
 
Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
Sayın Orion
Kusura bakmayın tam açıklayamamış olabilirim. Amaçım verilerin arasında boşlukları yok etmek değil. Bilakis her veri aralığının arasında 2 adet boşluk kalarak listelenmesini istiyorum. 1 nolu mesajımda eklenmiş dosyada, combobox listesinin nasıl görüneceğini açıklamaya çalıştım
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Orion
Kusura bakmayın tam açıklayamamış olabilirim. Amaçım verilerin arasında boşlukları yok etmek değil. Bilakis her veri aralığının arasında 2 adet boşluk kalarak listelenmesini istiyorum. 1 nolu mesajımda eklenmiş dosyada, combobox listesinin nasıl görüneceğini açıklamaya çalıştım
kodları güncelledim.
2 nolu mesaja güncelledim.
 

Korhan Ayhan

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

Kod:
Private Sub UserForm_Activate()
    Dim X As Long, Y As Long, Say As Byte, Son As Long
    
    With Sheets("veriler")
        Son = .Cells(.Rows.Count, "D").End(3).Row
        For X = 2 To Son
            If .Cells(X, "D") <> "" And Say = 0 Then
                ComboBox1.AddItem .Cells(X, "D").Value
            Else
                For Y = X To Son
                    If .Cells(Y, "D") <> "" Then
                        ComboBox1.AddItem Empty
                        ComboBox1.AddItem Empty
                        X = Y - 1
                        Exit For
                    End If
                Next
            End If
        Next
    End With
End Sub
 
Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
sayın korhan ayhan kod istediğim gibi çalışıyorum
teşekkür ederim
 
Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
Sayın Orion
Bende aradaki boş hücreler yok olmuş şekilde çıkıyor

 
Üst