Excel Makro (VBA) Dersleri - 10: Userform ile Kayıt Formu (Bölüm 4 - OptionButton, Frame, MultiPage)

kusha · 01 Ağustos 2026 · 5 dk okuma

Kayıt formumuza bu bölümde üç yeni kontrol ekliyoruz: birbirini dışlayan seçenekler için OptionButton, onları gruplamak için Frame, ve formu birden fazla sekmeye bölmek için MultiPage.

MultiPage: Formu Sekmelere Bölmek

Toolbox'tan MultiPage'i forma ekleyin — varsayılan olarak "Page1" ve "Page2" adında iki sekme gelir. Sekme başlıklarına çift tıklayarak (veya Properties'ten Caption) isimlerini değiştirebilirsiniz (ör. "Kayıt", "İletişim"). Her sekmenin içine ayrı ayrı kontrol yerleştirebilirsiniz.

Frame: İlgili Kontrolleri Gruplamak

Frame, birbiriyle ilişkili kontrolleri görsel olarak (ince bir çerçeve ve başlıkla) gruplamanızı sağlar — ör. "Kıdem" başlıklı bir çerçeve içine birden fazla seçenek koyabilirsiniz.

OptionButton: Birbirini Dışlayan Seçenekler

Bir Frame'in içine birden fazla OptionButton koyduğunuzda, bunlar otomatik olarak birbirini dışlayan bir grup oluşturur — birine tıklandığında diğerleri otomatik kalkar (radyo düğmesi mantığı).

If OptionButton1.Value = True Then
    Worksheets("Sayfa1").Range("H2").Value = "On yıl üzeri"
ElseIf OptionButton2.Value = True Then
    Worksheets("Sayfa1").Range("H2").Value = "On yıldan az"
End If

Her OptionButton'ın .Value özelliği, o seçili ise True döner — hangisinin seçili olduğunu If...ElseIf ile sırayla kontrol edip ilgili değeri tabloya yazdırıyoruz.

Neden Ayrı Bir Frame İçinde?

Eğer OptionButton'ları bir Frame'e koymadan doğrudan forma eklerseniz, formdaki tüm OptionButton'lar tek bir grup sayılır (birbirini dışlar). Farklı konularda (ör. hem "kıdem" hem "cinsiyet" gibi) birden fazla bağımsız seçenek grubu istiyorsanız, her grubu ayrı bir Frame içine koymanız gerekir.

Sırada Ne Var?

Sırada, ToggleButton ve Image kontrolleriyle formu daha da zenginleştireceğiz.