ComboBox hemen hemen tüm programlama dillerin de en sık kullanılan metodlardan biri olduğu gibi Excel VBA üzerinde de çok sık kullanılır. Bundan önce ComboBox ile ilgili hem sitemizde hemde Youtube kanalımızda DEGARADO nasıl kullanıldığına dair anlatımlar yapmıştım. Yine ComboBox kullanımı ile ilgili bazı detayları bu yazıda sizlere vermeye çalışacağım.

Başlıklar halinde anlatacaklarım şunlardır.

  1. ComboBox İlk Görünüm
  2. ComboBox Seçili Açılması
  3. ComboBox da Listeyi Daha Az veya Çok Gösterme
  4. ComboBox Boş Satırları Göstermesin
  5. ComboBox Görünümünü TextBox’a Çevirme
  6. ComboBox Buton Şekilleri
  7. ComboBox Hızlı Seçim
  8. ComboBox da Klavyeyi Yasaklama
  9. ComboBox Listesine Seçenek Düğmesi Ekleme
  10. ComboBox Properties Penceresindeki Tüm Özellikler

ComboBox İlk Görünüm

ComboBox üzerine veri girildiğinde görünüm olarak veri girilmemiş bir ComboBox ile aynı görünümdedir. Ancak üstüne mouse ile tıklatınca ComboBox açılır ve içerisindeki verileri görebileceğiniz ve seçim yapabileceğiniz bir liste karşınıza çıkar.

ComboBox’ın Seçili Açılması – ListIndex –

İsterseniz ComboBox Yüklenir Yüklenmez İstediğiniz bir verinin seçili halde gelmesini de sağlayabilirsiniz. Bunun için ComboBox’ıon yüklendiği hangi UserForm ise o UserForm’un initialize kısmına

ComboBox1.ListIndex = 0 'listedeki birinci değer
ComboBox1.ListIndex = 1 'listedeki ikinci değer
ComboBox1.ListIndex = 2 'listedeki üçüncü değer vs...

yukarıda belirttiğim kodlardan sizin için hangisi uygunsa yazarak dilediğiniz verinin ComboBox’ın ilk göründüğünde aktif olmasını sağlayabilirsiniz.

ComboBox Açılan Kutusunda Daha Az veya Daha Fazla Veri Görebilmek – ListRows –

UserFormunuz’da ComboBox Açılan kutuda, içerisindeki veriler ne kadar fazla olursa olsun ilk açıldığında varsayılan olarak en fazla 8 adet veri gözükmektedir.  Daha fazla veri olduğunda sağ tarafındaki kaydırma çubuğu yardımı ile diğer verileri görebilmekteyiz. Tabi ki bu varsayılan değeri arttırabilmek veya azaltabilmek elimizde.

Bunun için 2 ayrı yöntem mevcuttur.

1- İlk yöntem; ComboBox seçili iken Properties penceresinden ListRows özelliğini daha küçük veya daha büyük istediğiniz bir rakamla değiştirebilirsiniz.

2- İkinci yöntem; Bu yöntem de ufak bir kod yazmamız gerekiyor. Ancak bu yöntem önceki yöntemi yok saymaktadır. Yani aslında daha iyi bir yöntemdir diyebiliriz. Yazacağımız kodu UserForm’un initialize sayfasına yazmanız yeterlidir. Kod örneği ise

ComboBox1.ListRows = 15

şeklindedir.

Artık ComboBox’ın açılır kutusunda 15 adet veri birlikte görünecektir.

ComboBox Boş Satırları Göstermesin – RowSource –

Bir sütun üzerinden veri aldığımızda bazen daha sonra dan eklenebilecek veriler düşünülerek fazladan birkaç satır ekleyebiliyoruz. Böylece ilave edilecek veriler için her seferinde kod bölümüne girip kodları değiştirmekten kurtulmuş olunur. Örneğin

ComboBox1.RowSource = "Sayfa1! A1: A65536"

Ancak bu durumda ComboBox Açılır kutusuna tıklanıldığında gereksiz boş satırlar çıkacak ve buda istenmeyen bir şey olacaktır. Bunun yerine Verilerin En son satırını ufak bir kod yardımı ile tespit ettikten sonra ComboBox’a aldırmak daha mantıklıdır. Kodumuz;

ComboBox1.RowSource = "Sayfa1! A1: a" & Range("a65536").End(xlUp).Row

şeklinde olması yeterli olacaktır.

 

ComboBox Açılır Kutusunu Gizleme ve TextBox Nesnesi Gibi Gösterme – ShowDropButtonWhen –

ComboBox’ın sağ köşesinde aşağıya doğru bir ok işareti var. İstersek bunu kaldırabilir ve tamamen bir TextBox nesnesi gibi görünmesini sağlayabiliriz. Bunun için fmShowDropButtonWhenNever özelliğini kullanmalıyız. Ayrıca bu özelliği bir koşula da bağlayabiliyoruz. Koşullu bir biçimde gizlemek için yani seçili olmadığında gizlemek için fmShowDropButtonWhenFocus özelliğini kullanabiliriz. Her halükarda gözüksün diyorsak fmShowDropButtonWhenAlways özelliğini kullanmalıyız.

Bu özellikleri iki türlü kullanabiliriz.

Birinci Yöntem; ComboBox seçili iken Properties penceresinden ShowDropButtonWhen kutusundan istediğimiz özelliği seçebiliriz.

fmShowDropButtonWhenAlways 'Her halükarda seçim yapılabilecek aşağı ok butonu gözükür.
fmShowDropButtonWhenFocus 'ComboBox seçili olmadığında seçim yapılabilecek aşağı ok butonu gizlenir, seçili olduğunda gözükür.
fmShowDropButtonWhenNever 'Her halükarda seçim yapılabilecek aşağı ok butonu gizlenir ve TextBox nesnesi gibi gözükür. Seçim için elle yazmak gerekir.

Şimdi örneklerle açıklayalım.

Kod olarak uygulamak için ComboBox’ın bulunduğu UserForm’un initialize kısmına

ComboBox1.ShowDropButtonWhen = fmShowDropButtonWhenAlways 'Her halükarda seçim yapılabilecek aşağı ok butonu gözükür.
ComboBox1.ShowDropButtonWhen = fmShowDropButtonWhenFocus 'ComboBox seçili olmadığında seçim yapılabilecek aşağı ok butonu gizlenir, seçili olduğunda gözükür.
ComboBox1.ShowDropButtonWhen = fmShowDropButtonWhenNever 'Her halükarda seçim yapılabilecek aşağı ok butonu gizlenir ve TextBox nesnesi gibi gözükür. Seçim için elle yazmak gerekir.

şeklinde belirtebiliriz.

ComboBox üzerindeki seçim yapılabilecek aşağı ok butonunun şeklini değiştirme – DropButtonStyle –

ComboBox’daki seçim yapılabilecek aşağı ok butonu 4 farklı şekle girebilmektedir.

Bu özellikleri yine ComboBox seçili iken Properties penceresinden DropButtonStyle seçenekleriyle değiştirebilirsiniz.

fmDropButtonStylePlain 'Boş bir düğme şeklini alır.
fmDropButtonStyleArrow 'Varsayılan görüntü yani aşağı ok butonu
fmDropButtonStyleEllipsis 'Üç nokta gösterir (...)
fmDropButtonStyleReduce 'Alt çizgi şeklini alır.

Kod olarak uygulamak için ComboBox’ın bulunduğu UserForm’un initialize kısmına

ComboBox1.DropButtonStyle = fmDropButtonStylePlain 'Boş bir düğme şeklini alır.
ComboBox1.DropButtonStyle = fmDropButtonStyleArrow 'Varsayılan görüntü yani aşağı ok butonu
ComboBox1.DropButtonStyle = fmDropButtonStyleEllipsis 'Üç nokta gösterir (...)
ComboBox1.DropButtonStyle = fmDropButtonStyleReduce 'Alt çizgi şeklini alır.

seçeneklerinden hangisini kullanmak istiyorsak yazabiliriz.

ComboBox üzerinde verileri hızla yazarak seçme – MatchEntry –

ComboBox mantığı gereğince açılan liste kutusundan mouse yardımı ile istediğimiz veriyi seçe bilmemizi sağlar. Ancak klavye ile yazanlar için daha hızlı olması açısından yazarak da seçim yapılabilmesine olanak tanınmıştır.

Bunun içinde bir kaç seçenek mevcut. Hızlıca seçenekleri verelim;

Bu özellikleri yine ComboBox seçili iken Properties penceresinden MatchEntry seçenekleri ile değiştirebilirsiniz.

fmMatchEntryFirstLetter ' Klavyeden yazdığımız her harfi verilerin ilk harfi olarak algılar. 
fmMatchEntryComplete 'Varsayılandır ve klavyeden verileri yazarak seçe bilmemizi sağlar.
fmMatchEntryNone 'Klavyeden yazarken seçimleri karşımıza çıkarmaz ancak tam olarak yazdığımızda seçim yapılabilir.

Kod olarak uygulamak için ComboBox’ın bulunduğu UserForm’un initialize kısmına

ComboBox1.MatchEntry = fmMatchEntryLetter ' Klavyeden yazdığımız her harfi verilerin ilk harfi olarak algılar.
ComboBox1.MatchEntry = fmMatchEntryComplete 'Varsayılandır ve klavyeden verileri yazarak seçe bilmemizi sağlar.
ComboBox1.MatchEntry = fmMatchEntryNone 'Klavyeden yazarken seçimleri karşımıza çıkarmaz ancak tam olarak yazdığımızda seçim yapılabilir.

ComboBox’daki verilere Klavye ile müdahaleyi kaldırma – Style –

ComboBox üzerindeki verilere klavye ile müdahaleyi tamamen kaldırmak için ise ComboBox seçili iken Properties penceresinden Style özelliğini kullanabilirsiniz.

fmStyleDropDownList 'Klavyeden müdahale etmeyi yasaklar
fmStyleDropDownCombo 'Varsayılandır ve klavye ile müdahale edilebilir.

Kod olarak uygulamak için ComboBox’ın bulunduğu UserForm’un initialize kısmına

ComboBox1.Style = fmStyleDropDownList 'Klavyeden müdahale etmeyi yasaklar
ComboBox1.Style = fmStyleDropDownCombo 'Varsayılandır ve klavye ile müdahale edilebilir.

ComboBox’daki verilerimize seçenek düğmesi ekleme – ListStyle –

ComboBox içerisindeki verilerin hemen yanına seçenek düğmesi ekleyerek daha güzel bir görüntü elde edebiliriz.

Bu özelliği yine ComboBox seçili iken Properties penceresinden ListStyle seçeneği ile değiştirebilirsiniz.

fmListStylePlain 'Seçenek düğmesi göstermez
fmListStyleOption 'Seçenek düğmesi gösterir

Kod olarak uygulamak için ComboBox’ın bulunduğu UserForm’un initialize kısmına

ComboBox1.ListStyle = fmListStylePlain 'Seçenek düğmesi göstermez
ComboBox1.ListStyle = fmListStyleOption 'Seçenek düğmesi gösterir

Son olarak ComboBox’ın diğer bütün özelliklerini liste halinde vermeye çalışalım.

ComboBox seçili iken Properties penceresinden yapılabilecekler.

Özellikleri

Penceresi

Alabileceği

Değerler

Açıklaması
AutoSizeFalse Varsayılandır. Seçeneği ComboBox’ı istediğiniz gibi boyutlandırabilmeyi sağlar.
True Seçeneği ComboBox’ı otomatik boyutlandırmayı sağlar.
AutoTabFalseVarsayılandır. Tab tuşlarının sırasını istediğimiz gibi düzenleyebiliriz.
TrueTab tuşlarının sırasını otomatik düzenler.
AutoWordSelectFalse Seçimde kelimeyi değil harfi baz alır.
True Varsayılandır. Otomatik kelime seçebilir
BackColorComboBox’ın arkaplan rengini ayarlayabiliriz.
BackStylefmBackStyleOpaque Varsayılandır. ComboBox’ın üzerinde bulunduğu Arkaplan gözükmez
fmBackStyleTransparent ComboBox’ı saydam yapar.
BorderColorComboBox’ın verileri gösterdiği bölümün rengini değiştirir.
BorderStylefmBorderStyleNone Varsayılandır.
fmBorderStyleSingle ComboBox’ın etrafına çizgi çeker.
BoundColumnSağ sütundaki veriyi değer olarak saklar.
ColumnCountComboBox içerisinde kaç adet sütun gösterileceğini belirler
ColumnHeadsFalse Sütun başlıklarını göstermez
True Varsayılandır. Sütun başlıklarını gösterir
ColumnWidthsSütun genişliğini ayarlar 1 idealdir veya boş bırakılır. 0 yapılırsa değerler gösterilmez
ControlSourceBelirtilen bir hücre veya Adın Value değerini alır ve direk değişiklik yapılabilir.
ControlTipTextComboBox üzerine bir açıklama ekler. Mouse üzerine geldiğinde açıklama gözükür.
DragBehaviorfmDragBehaviorDisabledVarsayılandır. Sürükle ve Bırak özelliğini iptal eder.
fmDragBehaviorEnabled Sürükle ve Bırak özelliğini etkinleştirir.
DropButtonStyleBu özellik ile ilgili yukarıda geniş açıklama yapılmıştır.
EnableFalseSeçilen değer üzerinde hiçbir kontrol sağlayamayız.
TrueVarsayılandır. Seçtiğimiz değer üzerinde kontrol sağlayabiliriz.
EnterFieldBehaviorfmEnterFieldBehavior

RecallSelection

 Sadece son aktif olan içerik
fmEnterFieldBehavior

SelectAll

Varsayılandır. Sekme veya Tab aktif iken işe yarar. Tüm içeriği seçer
FontYazı tipini seçmemizi sağlar
ForeColorYazı rengini belirleyebiliriz
HeightComboBox’ın yüksekliğini ayarlayabiliriz.
HelpContextId ID’ye göre yardım dosyası belirlemeyi sağlar
HideSelectionFalse Gizleme özelliğini deaktif eder.
True Varsayılan dır. Gizleme özelliğini aktif yapar.
IMEModuVarsayılan olarak kapalı gelmektedir.
LeftUserform üzerinde sola olan mesafeyi ayarlar
ListRowsBu özellik ile ilgili yukarıda geniş açıklama yapılmıştır.
ListStyleBu özellik ile ilgili yukarıda geniş açıklama yapılmıştır.
ListWidthVarsayılan olarak “0” dır. ComboBox içerisindeki verilerin gösterileceği genişliği ayarlar.
Locked FalseVarsayılandır. Veriler görüntülenebilir müdahale edilebilir.
 TrueVerilere elle görüntülemeyi ve müdahaleyi engeller.
MatchEntryBu özellik ile ilgili yukarıda geniş açıklama yapılmıştır.
MatchRequiredFalseVarsayılandır. Veri girişini denetlemez.
TrueVeri girişini denetler. Yanlış veri girildiğinde uyarı veriri.
MaxLengthVarsayılan olarak “0” dır. 0 sınırlama yoktur. İzin verilen karakter uzunluğunu belirler.
MouseIconMouse icon dosyanızı yükleyerek iconunuzu değiştirebilmenizi sağlar.
MousePointerExcelin kendi mouse iconlarından birisini seçebilmenizi sağlar.
RowSourceBu özellik ile ilgili yukarıda geniş açıklama yapılmıştır.
SelectionMarginFalseComboBox kenar boşluğunu kaldırır.
TrueVarsayılandır. ComboBox kenar boşluğu verir.
ShowDropButtonWhenBu özellik ile ilgili yukarıda geniş açıklama yapılmıştır.
SpecialEffectfmSpecialEffectBumpComboBox çıkıntılı bir görünüm elde eder. Seçenek ve Onay kutularında geçersizdir.
fmSpecialEffectEtchedComboBox etrafına ince çizgi çizer, gölge yoktur
fmSpecialEffectFlatComboBox kenarlarındaki gölgeyi kaldırır
fmSpecialEffectRaisedComboBox dışarı çıkan gölge verir
fmSpecialEffectSunkenVarsayılandır.
StyleBu özellik ile ilgili yukarıda geniş açıklama yapılmıştır.
TabIndexTab tuşu gezinme sırasını belirler.
TabStopFalseVarsayılandır. Tab tuşu ile ulaşılabilir.
TrueTab tuşu ile ulaşılmasına engel olur.
TagTanımlamak için bir dize ifadesi verilebilir.
TextMetin değeri verilebilir. Veri ile eşleşen metinsel değer index değerini alıp satırla eşleşir.
TextAlignfmTextAlignCenterMetni ortalar
fmTextAlignLeftVarsayılandır. Metni sol tarafa yaslar.
fmTextAlignRightMetni sağa yaslar
TextColumn1 ve 2 değerlerini alır. 1 değerleri 2 ise id leri gösterir.
TopBulunduğu konumu Formun üstüne göre ayarlar
TopIndexEn üst konumda görüntülenen liste numarası.
Valueİsteğe bağlı kontrolün durumu veya içeriği
VisibleFalseVarsayılandır. ComboBox’ı gizler
TrueComboBox’ı gösterir
WidthComboBox’ın genişliğini belirler


Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: