Combobox'a Çoklu Veri Çekme

Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
Selamlar. Uzun süre araştırdım ama sorunuma çözüm bulamadım. Elimde 42 adet combobox var. ve hepsine de Veritabanı sayfamdan A2:H65536 arasını boş hücreler olmadan çekmek istiyorum. Bunu nasıl yapabilirim.

Elimdeki mevcut kod ile tek bir sütundan örneğin J'den boşluklar olmadan verileri combobox a çekebiliyorum.
Kod:
ComboBox1.RowSource = "Veritabanı!J2:J" & Sheets("Veritabanı").Cells(65536, "J").End(xlUp).Row
Benim bunu A:H arasını komple yapmam gerekiyor. Yardımlarınızı bekliyorum. Teşekkürler şimdiden.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,357
Excel Vers. ve Dili
2019 Türkçe
Kod:
ComboBox1.ColumnCount = 8
ComboBox1.RowSource = "Veritabanı!A2:H" & Sheets("Veritabanı").Cells(65536, "H").End(xlUp).Row
 
Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
Sayın @dalgalikur ; ilginiz için teşekkürler. Fakat bu kod Combobox'a dediğimiz aralığı alıyor ama tablo gibi alıyor. tıkladığımızda da A sütunundaki veriyi veriyor bana.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,357
Excel Vers. ve Dili
2019 Türkçe
Birinci kolondakini öğrenmek için
Kod:
MsgBox ComboBox1.List(ComboBox1.ListIndex, 0)
Üçüncü kolondakini öğrenmek için
Kod:
MsgBox ComboBox1.List(ComboBox1.ListIndex, 2)
 

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
Buyurun.:cool:
Kod:
Dim i As Long, sonsat As Long
sonsat = Sheets("Veritabanı").Cells(65536, "J").End(xlUp).Row
For i = 1 To sonsat
    If Sheets("Veritabanı").Cells(i, "J").Value <> "" Then _
            ComboBox1.AddItem Sheets("Veritabanı").Cells(i, "J").Value
Next i
 
Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
Sayın @Orion1 ilginize teşekkürler. Fakat verdiğiniz kod ile benim elimdeki kod birbiriyle aynı işlevi görüyor gibi..
Ben sanırım tam anlatamadım istediğimi.. Şöyle ki
A sütunundan H sütunu da dahil verilerim var.
Bende bunların hepsini combobox'a çekmek istiyorum.
Elimde de 42 adet combobox var hepside aynı verileri çekecek.
Sayın @dalgalikur'un verdiği kodla combobox üzerinde istediğim verileri görüyorum fakat tablo şeklinde ve seçim yapmak istediğimde A sütunundaki bilgi geliyor combobox'a.
Kod:
ComboBox1.ColumnCount = 8
ComboBox1.RowSource = "Veritabanı!A2:H" & Sheets("Veritabanı").Cells(65536, "H").End(xlUp).Row
Verilerin tablo değil sanki 1 sütunda hepsi yazılıymışcasına combobox a çekilmesi gerekiyor. Teşekkür ediyorum şimdiden yardımlarınız için
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,638
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
örnek dosyanızı ekleyebilir misiniz?
 
Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
Sayın @kuvari ; ilginize teşekkürler. Attechments olarak ekleyemiyorum altın üye olmadığımdan dolayı. Linklemek istemedim programı. Az önce de çözdüm kendim problemi farklı bir şekilde. Bunu da yapamayan arkadaşlar varsa onlara da örnek olabilir belki en azından fikir.. A ile H dahil sütunlarındaki bilgileri alt alta bir combobox a çektirmek istiyordum. Bunu da J sütununa A yı kopyala J ye yapıştır B yi kopyala son dolu hücreyi bul yapıştır diyerek hepsini yaptım ve combobox lara da J yi çektirdim. Problemim bu şekilde şimdilik çözüldü. Tabii direk yapabilseydim daha iyiydi.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,638
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Sayın @kuvari ; ilginize teşekkürler. Attechments olarak ekleyemiyorum altın üye olmadığımdan dolayı. Linklemek istemedim programı. Az önce de çözdüm kendim problemi farklı bir şekilde. Bunu da yapamayan arkadaşlar varsa onlara da örnek olabilir belki en azından fikir.. A ile H dahil sütunlarındaki bilgileri alt alta bir combobox a çektirmek istiyordum. Bunu da J sütununa A yı kopyala J ye yapıştır B yi kopyala son dolu hücreyi bul yapıştır diyerek hepsini yaptım ve combobox lara da J yi çektirdim. Problemim bu şekilde şimdilik çözüldü. Tabii direk yapabilseydim daha iyiydi.
Merhaba,

Programı eklemenize gerek yok, örnek olacak değerlerini sizin uydurduğunuz bir excel ekleyebilirsiniz.
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Aşağıdaki kodu denermisiniz.
Kod:
Private Sub UserForm_Initialize()
ComboBox1.Clear
satır = 1
kolon = Cells(satır, 1).End(xlToRight).Column
Dim sonsat As Long
sonsat = Sheets(ActiveSheet.Name).Cells(65536, "A").End(xlUp).Row
For k = 2 To Sheets(ActiveSheet.Name).Cells(65536, "A").End(xlUp).Row
For i = 1 To kolon
If Sheets(ActiveSheet.Name).Cells(k, i).Value <> "" Then _
            ComboBox1.AddItem Sheets(ActiveSheet.Name).Cells(k, i).Value
Next
Next
ComboBox1.ListIndex = 0
End Sub
 
Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
Sayın @vardar07 ; ilginize teşekkürler. Verdiğiniz kod çalışıyor fakat bu seferde şöyle bir sıkıntı var. Verileri yatay alıyor. Yani Combobox'a veri A1 B1 C1 A2 B2 C2 bu şekilde geliyor. Yani ilk başta A sütunu sonra B sütunu şeklinde gelecek veri. Bunu bu hale nasıl getirebiliriz ?
 

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
Buyurun.:cool:
Kod:
Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 8
ComboBox1.RowSource = "Sayfa1!A1:H" & Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row
End Sub
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Aşağıdaki satırların yerlerini değiştirip denermisiniz.
Kod:
For k = 2 To Sheets(ActiveSheet.Name).Cells(65536, "A").End(xlUp).Row
For i = 1 To kolon
 
Katılım
3 Aralık 2014
Mesajlar
213
Excel Vers. ve Dili
Microsoft Excel 2007
İşte bu ! Sayın @vardar07 beni bir haftadır çektiğim işkenceden kurtardınız. Teşekkür ederim. Peki elimde 42 tane combobox var. Hepsine de aynı bu kod ile veriyi çektireceğim.Ayrı ayrı hepsine yazmak yerine tek bir kodla Bunu nasıl yaparız.
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Aşağıdaki şekilde denermisiniz.
Not:Kırmızılı yerdekinden eksik combobox olursa hata verir.
Kod:
Private Sub UserForm_Initialize()
ComboBox1.Clear
ComboBox1.ColumnCount = 8
satır = 1
kolon = Cells(satır, 1).End(xlToRight).Column
Dim sonsat As Long, i, m, k
sonsat = Sheets(ActiveSheet.Name).Cells(65536, "a").End(xlUp).Row
For i = 1 To kolon 'Dolu kolon sayısı
For k = 1 To Sheets(ActiveSheet.Name).Cells(65536, "A").End(xlUp).Row 'Dolu satır sayısı
For m = 1 To [COLOR="Red"][B]42[/B][/COLOR] 'combobox adeti
If Sheets(ActiveSheet.Name).Cells(k, i).Value <> "" Then _
Controls("ComboBox" & m).AddItem Sheets(ActiveSheet.Name).Cells(k, i).Value
Next
Next
Next
ComboBox1.ListIndex = 0
End Sub
 
Üst