Excel VBA – Excel’deki Verileri Combobox’a Alma

Bu yazımda Excel deki belli bir hücre veya hücrelerdeki verileri UserForm üzerindeki oluşturmuş olduğumuz Combobox’a almak için olan yöntemleri örneklerle resimli ve videolu bir şekilde anlatmaya çalışacağım.

Excel sayfasında “A” sütunundaki verileri Combobox1 içerisine almaya çalıştığımızı varsayarak yapmamız gerekenler sırasıyla;

Örnek -1
VBA pencerimizde UserForm üzerindeki combobox seçili iken properties penceresindeki RowSource kısmına öncelikle sayfa adını daha sonra da verilerin bulunduğu hücreleri belirtmemiz gerekir.

Yani Sayfa1!A:A yazdığımızda aslında Sayfa 1 deki A sütunundaki bütün verileri Combobox1 içerisinde listele demiş oluyoruz.combobox veri

Örnek -2
Yine aynı şekilde Properties penceresindeki RowSource kısmına satır sayısı belirtilerek yapıldığını düşünelim.

Sayfa1!A5:A15 yazdığımızda aslında Sayfa 1 deki A sütunundaki 5. ila 15. verileri Combobox1 içerisinde listele demiş oluyoruz.

combobox veri

Örnek -3

Bu sefer aynı işlemi Properties penceresinden değil kod kısmından örneklerle anlatmaya çalışalım.
En basit şekliyle excel’de “A” Sütunundaki verileri combobox’a almak için kod penceresine aşağıdaki kodları yazmanız yeterlidir.

bu kod ile UserForm yüklenir yüklenmez combobox1’e A sütunundaki tüm veriler alınır.

Private Sub UserForm_Initialize()
ComboBox1.RowSource = “‘Sayfa1’!A:A”
End Sub

Örnek -4

Bu kodda ise UserForm yüklenir yüklenmez combobox1’e A sütunundaki 5. satır ile 15. satır arasındaki veriler alınır.

Private Sub UserForm_Initialize()
ComboBox1.RowSource = “‘Sayfa1’!A5:A15”
End Sub

Örnek -5

Farklı bir durum olarak hücredeki verileri isimlendirerek combobox’a alma işlemi yapabiliriz. Böylelikle hücre ve sayfa belirtmek durumundan da kurtulabiliriz.

Bunun için öncelikle excel sayfamızdaki combobox’a yüklemek istediğimiz hücreleri seçiyor ve ardından da seçmiş olduğumuz hücrelere ad tanımlıyoruz. Ad tanımlama işlemini kısayol dan fonksiyon çubuğunun en solundan yapabilir veya Formüller sekmesinden Ad Tanımla seçeneği ile de gerçekleştirebiliriz.

combobox veri combobox veri

Ardından Properties penceresindeki RowSource kısmına direk ismi yazabiliriz.

combobox veri

Yada kod kısmına aşağıdaki gibi yazdığınız da UserForm açılır açılmaz listelenecek tir.

Private Sub UserForm_Initialize()
ComboBox1.RowSource = “isim”
End Sub

Elbette bu göstermiş olduğum yöntemler olayın mantığını kavrayabilmeniz adına en basit şekilleridir. Combobox’a veri yüklerken isteğinize göre farklı kod ihtiyaçları da doğacaktır.

Bu ihtiyaçların sınırsız istekler doğrultusunda doğacağından dolayı hepsini bir arada veremiyorum ama zaman zaman sizlerle başka bazı yöntemleri de paylaşmayı düşünüyorum.

Birçok Örnekle Açıklamasını Yaptığım Excel VBA Combobox Veri Alma Videosunu Aşağıdan İzleyebilirsiniz.


6 yorum

Cem Yılmaz · 30 Mart 2021 14:22 tarihinde

Dilaver bey merhaba,
Sizin videolarınızdan “Excel VBA (Makro) Dersleri – UserForm ile kayıt-bul-sil-değiştir ve yazdır” – Örnek Program -1 ve 2 vidolarını izledim 2. videoda “BUL” kısmına kadar sorunsuz geldim ama “BUL” kısmında sizin yazdığınız komutların aynısını yazmama rağmen “BUL” fonsiyonu çalışmıyor program hata veriyor.
Bu konuda yardımcı olabilirsiniz sevinirim.
Tşk.

Volkan · 18 Şubat 2021 21:27 tarihinde

Merhaba,
Excel içerisinde farklı sayfalar ve hücrelerde yer alan bilgileri anahtar kelime girerek userform ya da benzeri bir tabloda görüntüleme yaptırabilmemiz mümkün müdür?

İsmail aydemir · 02 Aralık 2018 02:23 tarihinde

Benim sayfa 1de listbox var. Sayfa2 de veriler var. Listbox A 25 sütunlu veya eklenebilir olmalı. Satırda eklenebilir. Bu 25 sütunlu veriyi nasıl alabilirim. Addıtem sadece 10 veri çekebiliyorum. Acil lütfen

Taylan · 17 Kasım 2018 01:45 tarihinde

İyi Çalışmalar hocam , Combobox ile ilgili bir sorum olacak; excel den verileri çektik listelendi peki listelenen verileri combobaxta seçtiğimizi nasıl sileriz uğraştım beceremedim yardımcı olabilir misiniz?

    Dilaver AJDER · 19 Kasım 2018 13:08 tarihinde

    Merhabalar,
    Maalesef yoğun iş temposu nedeni ile bazen soruları geç fark edebiliyorum. Umarım geç kalmamışımdır.
    Sorunuzun cevabına gelirsek.
    Öncelikle
    ComboBox’ın Change olayına iki satır bir kod ekleyelim.
    Dim x As İnteger
    x=ComboBox1.ListIndex + 1

    Şimdi ise UserForm üzerinde SiL isminde bir buton oluşturup Butonun Click yordamına
    Eğer sadece hücreyi silmek istersek.
    Cells(x, 1).Delete
    yazabiliriz.
    Ama Hücreyi değil satırı silmek istiyorsak.
    Cells(x, 1).EntireRow.Delete
    komutunu yazmanız yeterli olacaktır.

Bir yanıt yazın

Avatar placeholder

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.