EXCEL VBA ONAY KUTUSU [CHECKBOX]


EXCEL VBA'DA ONAY KUTUSU NEDİR?

VBA onay kutusu, kullanıcıların bir seçeneği seçme veya evet/hayır kararını belirtme gibi ikili seçimler yapmalarına olanak sağlamak için genellikle formlarda veya iletişim kutularında kullanılan grafiksel bir kullanıcı arayüzü öğesidir. Örneğin Excel'de, Geliştirici sekmesinden onay kutuları ekleyebilirsiniz. Bu onay kutuları belirli hücrelere bağlanabilir ve durumları (işaretli veya işaretsiz) VBA kodu aracılığıyla kontrol edilebilir.

Kullanıcıyı onay kutusunun işaretli olup olmadığı konusunda uyarmak için bir VBA Onay Kutusu Makrosu oluşturmak üzere aşağıdaki örneği ele alalım:

VBA ONAY KUTUSU 1

ActiveSheet fonksiyonunu kullanarak CheckBox.Add fonksiyonunu çağırarak VBA Onay Kutusu'nu oluşturabilir ve işaretleyebilirsiniz.

VBA ONAY KUTUSU 1-1
VBA ONAY KUTUSU 1-2



ÖNEMLİ NOKTALAR

  • VBA'daki onay kutuları, kullanıcıların ikili seçimler yapmasına veya evet/hayır kararlarını belirtmesine olanak sağlamak için kullanılan grafiksel öğelerdir.
  • Onay Kutuları, Geliştirici sekmesi ve ActiveX Denetimleri kullanılarak Excel çalışma sayfalarına veya Kullanıcı Formlarına eklenebilir.
  • Belirli hücrelere bağlanabilirler ve bağlantılı hücredeki durumlarını (işaretli veya işaretsiz) yansıtabilirler.
  • Onay kutuları, kullanıcıların gereksinimlerine göre uygun seçimleri yapmalarını sağlayarak kullanıcı girdisini doğrulamak için kullanılabilir.
  • Tıklama olayları gibi onay kutularıyla ilişkili olayları işleyip, durumlarına göre eylemler gerçekleştirmek için VBA kodu yazabilirsiniz.

UserForm'da VBA CheckBox Nasıl Oluşturulur?

Bir VBA Onay Kutusu örneğini düzgün bir şekilde kullanmak için aşağıdaki basit adımları izleyin.

Adım 1: Excel Çalışma Kitabını açtığınızda, başlık çubuğundan “Geliştirici” sekmesini seçin ve üzerine tıklayın.

UserForm 1'de CheckBox nasıl oluşturulur

Geliştirici simgesine tıkladıktan sonra “Visual Basic”i seçin. VBA Editör penceresini açar.

UserForm 1-1'de CheckBox nasıl oluşturulur

Bunun için VBA Editörünün başlık çubuğunda “Ekle” butonuna tıklayın ve “Kullanıcı Formu” seçeneğini seçin.

UserForm 1-2.jpg'de CheckBox nasıl oluşturulur

Adım 2: UserForm’un adını özelleştirin.

UserForm 1-3'te CheckBox nasıl oluşturulur
UserForm 1-4'te CheckBox nasıl oluşturulur

Adım 3: Kullanıcılardan cinsiyetlerini seçmelerini isteyen bir etiket ekleyin.

UserForm 1-5'te CheckBox nasıl oluşturulur

Yazı tipi boyutunu özelleştirmek için Yazı Tipi'ne tıklayın ve tercihinize göre özelleştirin.

UserForm 1-6'da CheckBox nasıl oluşturulur
UserForm 1-7'de CheckBox nasıl oluşturulur

Adım 4: Kullanıcıların kendilerinin kontrol edebilmesi için onay kutularını gösterecek iki etiket oluşturun.

UserForm 1-8'de CheckBox nasıl oluşturulur
UserForm 1-9'da CheckBox nasıl oluşturulur
UserForm 1-10'da CheckBox nasıl oluşturulur

Adım 5: Onay kutularına çift tıklayın ve VBA kodlarını gösterildiği gibi düzenleyin.

UserForm 1-11'de CheckBox nasıl oluşturulur

“Erkek” kutucuğunu işaretlemeniz durumunda geçerlidir.

Adım 6: Onay kutusunun değerinin doğru olup olmadığını kontrol etmek için bir If-ifadesi bildirin. Doğruysa, bu seçeneği seçtiklerini onaylayan bir mesaj kutusu gönderin ve kullanıcı formunu kapatın .

UserForm 1-12'de CheckBox nasıl oluşturulur

Adım 7: Aynı şekilde ikinci onay kutusunun da kadın olup olmadığını kontrol etmek için onay kutusuna çift tıklayın.

UserForm 1-13'te CheckBox nasıl oluşturulur

Adım 8: Benzer şekilde, VBA Onay Kutusu değerinin Doğru olup olmadığını kontrol etmek için bir If-ifadesi çağırın. Eğer öyleyse, “Kadın” seçeneğini onaylayan mesaj kutusu gösterilir.

UserForm 1-14'te CheckBox nasıl oluşturulur

Adım 9: Onay Kutusu kodundan sonra VBA'daki UserForm'u kapatın, böylece birden fazla seçenek seçilemez.

UserForm 1-15'te CheckBox nasıl oluşturulur

Kod:

Private Sub CheckBox1_Click()

    If CheckBox1.Value = True Then

    MsgBox “Sen bir adamsın!”, vbInformation

    End If

    Unload Me

End Sub

Private Sub CheckBox2_Click()

    If CheckBox2.Value = True Then

    MsgBox “Sen bir kadınsın!”, vbInformation

    End If

    Unload Me

End Sub

Adım 10: Excel VBA’daki etkinlik çubuğunda “F5” veya “Çalıştır” simgesine tıklayın.

UserForm 1-16'da CheckBox nasıl oluşturulur
UserForm 1-17'de CheckBox nasıl oluşturulur

Örnekler

VBA Onay Kutusu makrosunu Excel etkinliklerinize uygulayabileceğiniz farklı yolları görün.

Örnek 1 – ActiveX Onay Kutusu Denetimi Ekle

Bu örnekte, Excel'deki ActiveX denetimlerini kullanarak onay kutularının nasıl oluşturulacağını öğreneceksiniz.

Adım 1: Geliştirici sekmesinde, onay kutularını düzenlemek ve taşımak için Tasarım Modunu açın.

Adım 2: Ekle'nin altında, ActiveX denetimleri altında Onay Kutusu'nu seçin ve çalışma sayfasında istediğiniz yere çizin.

VBA CHECKBOX Örneği 1

Sonuçta ortaya çıkan CheckBox şu şekilde gözükecektir.

VBA CHECKBOX Örneği 1-1

Adım 3: “Tasarım Modu” simgesinin yanındaki Özellikler çubuğuna tıklayarak Onay Kutusunun adını özelleştirin.

VBA CHECKBOX Örneği 1-2
VBA CHECKBOX Örneği 1-3

Adım 4: Bu onay kutusunun işlevlerini düzenlemek için onay kutusuna sağ tıklayın ve “Kodu Görüntüle”yi seçin.

VBA CHECKBOX Örneği 1-4

Adım 5: Bu alt rutini düzenlerken oluşacak koşulları düzenleyin.

VBA CHECKBOX Örneği 1-5

Adım 6: VBA Onay Kutusu değeri doğruysa, kullanıcının kabul ettiğini doğrulayan bir mesaj kutusu gönderin. Bu, If-Else koşulu kullanılarak yapılır.

VBA CHECKBOX Örneği 1-6

Adım 7: İşaretlenmemiş onay kutusu için bir Else kısmı tanımlayın.

VBA CHECKBOX Örneği 1-7

Kod:

Public Sub Yes_Click()

    If Yes.Value = True Then

        MsgBox “Kullanıcı kabul ediyor!”, vbInformation

    Else

        MsgBox “Kullanıcı sizin fikrinizden farklı düşünüyor”, vbExclamation

    End If

End Sub

Adım 8: Çalışma sayfasına gidin ve VBA Onay Kutusu Makrosunu düzenledikten sonra onay kutusuna tıklayın. Bir mesaj kutusu açılacaktır.

VBA CHECKBOX Örneği 1-8
VBA CHECKBOX Örneği 1-9

Bu örnekte, VBA Onay Kutusu değerlerini bir hücreye nasıl bağlayacağınızı ve çıktısını nasıl görüntüleyeceğinizi öğreneceksiniz.

Adım 1: “Geliştirici” sekmesi altında “Tasarım Modu”nu açın.

Adım 2: Ekle'yi seçin ve ActiveX denetimleri altında Onay Kutusu'nu seçip çizin.

VBA CHECKBOX Örneği 2

Adım 3: VBA CheckBox sonuçlarını hücreye bağlamak için bir alt rutin tanımlayın.

VBA CHECKBOX Örneği 2-1

Adım 4: Özellikler sekmesinde Onay Kutusunun adını değiştirin.

VBA CHECKBOX Örneği 2-2

Adım 5: Onay Kutusunun kodunu görüntüleyin.

VBA CHECKBOX Örneği 2-3

Not: Alt programı doldurmanıza gerek yok; boş bırakabilirsiniz.

Adım 6: VBA Onay Kutusu değerini başka bir hücreye tanımlamak için yeni bir alt prosedür oluşturun.

VBA CHECKBOX Örneği 2-4

Adım 7: Değerin belirli bir hücrede yazdırılmasını istediğiniz sütun sayısını tanımlayın. Burada, soldan üç sütun uzakta olacak şekilde programlanmıştır.

VBA CHECKBOX Örneği 2-5

Adım 8: Excel VBA'da With fonksiyonunu kullanarak , sonucun gösterileceği hücreyi tanımlamak için onay kutusunun linkedCell özelliğini kullanın .

VBA CHECKBOX Örneği 2-6

Adım 9: VBA Offset fonksiyonunu kullanarak , daha önce sütunlar argümanında tanımlanan leftCol değişkenini TopLeftCell anahtar sözcüğüyle Offset fonksiyonuna koyun.

VBA CHECKBOX Örneği 2-7

Daha sonra With fonksiyonunu sonlandırın.

Kod:

Sub LinkCheckBoxToCell()

    Dim leftCol As Long

    leftCol = 3

   With Checkbox1

        .linkedCell = _

            .TopLeftCell.Offset(0, leftCol).Address

End With

End Sub

Adım 10: Alt rutini bir kez çalıştırın ve ardından çalışma sayfasına gidin ve onay kutusunu tıklayın.

VBA CHECKBOX Örneği 2-8
VBA CHECKBOX Örneği 2-9

Örnek 3 – Excel'de MsgBox ile Onay Kutusunun İşaretli Olup Olmadığını Kontrol Etme

Bu örnekte, VBA'da bir Mesaj Kutusu kullanarak Onay Kutusu kodundan nasıl onay alınacağını öğreneceksiniz .

Adım 1: “Tasarım Modu”nu açık tutun veya henüz açık değilse açın.

Adım 2: “Tasarım Modu”nun yanında “Ekle”yi seçin ve ardından ActiveX denetimlerinde “Onay Kutusu” seçeneğini belirleyin.

VBA CHECKBOX Örneği 3

Adım 3: Onay kutusunun özelliklerini düzenleyin.

VBA CHECKBOX Örneği 3-1
VBA CHECKBOX Örneği 3-2

Adım 4: İşlevselliğini düzenlemek için onay kutusuna sağ tıklayın ve “Kodu Görüntüle”yi seçin.

VBA CHECKBOX Örneği 3-3
VBA CHECKBOX Örneği 3-4

Adım 5: Onay kutusu değeri True olduğunda bir mesaj yazdıran bir Mesaj Kutusu bildirin. vbInformation, Mesaj Kutusuna simgeler eklemek için kullanılan bir anahtar sözcüktür.

VBA CHECKBOX Örneği 3-5

Adım 6: VBA Onay Kutusu değeri yanlış olduğunda bir Else koşulu bildirin. MsgBox işlevini kullanarak farklı bir mesaj yazdırmasını sağlayın.

VBA CHECKBOX Örneği 3-6

Kod:

Public Sub CheckBox2_Click()

    If CheckBox2.Value = True Then

        MsgBox “Kontrol Edildi!”, vbInformation

    Else

        MsgBox “İşaretlenmemiş!”, vbExclamation

    End If

End Sub

Adım 7: Çalışma sayfasına gidin ve “Geliştirici” bölümünde “Tasarım Modu”nu kapattıktan sonra Onay Kutusuna tıklayın.

VBA CHECKBOX Örneği 3-7
VBA CHECKBOX Örneği 3-8

Buradan, VBA Onay Kutusu makrosunu düzenleyerek onay kutularını işaretlemek için onayı başarıyla çıkardınız.

Örnek 4 – Onay Kutusunu Sil

Artık gereksinimlere göre onay kutularını nasıl oluşturacağınızı ve düzenleyeceğinizi bildiğinize göre, bir onay kutusunu nasıl sileceksiniz? Bir onay kutusunu nasıl sileceğinizi öğrenmek için aşağıdaki adımları takip edebilirsiniz.

Adım 1: “Geliştirici” bölümünün altında “Tasarım Modu” seçeneğini açın.

Adım 2: Silmek istediğiniz onay kutusunu seçerek adını alın.

VBA CHECKBOX Örneği 4

Adım 3: Belirli bir onay kutusunu silmek için bir alt rutin oluşturun.

VBA CHECKBOX Örneği 4-1

Adım 4: Bu onay kutusunun bulunduğu çalışma sayfasını seçin.

VBA CHECKBOX Örneği 4-2

Adım 5: Silinecek onay kutusunu OLEObject olarak bildirin.

VBA CHECKBOX Örneği 4-3

VBA'da OLEObject, Nesne Bağlama ve Gömme (OLE) nesnesini ifade eder. OLE, farklı uygulamalardan bilgi içerebilen nesneler oluşturmanıza olanak tanıyan bir teknolojidir.

Excel VBA bağlamında, bir OLEObject genellikle bir çalışma sayfasındaki gömülü bir nesneyi veya denetimi temsil eder, örneğin bir onay kutusu, komut düğmesi veya ActiveX denetimi. Bu gömülü nesneleri programatik olarak düzenlemenize ve onlarla etkileşime girmenize olanak tanır.

Adım 6: Sil fonksiyonunu kullanarak onay kutusunu silin.

VBA CHECKBOX Örneği 4-4

Adım 7: Onay kutusunun silindiğini onaylayan bir mesaj kutusu yazdırın.

VBA CHECKBOX Örneği 4-5

Kod:

Sub DeleteCheckbox()

    Dim ws Worksheet

    ws = ThisWorkbook.Sheets(“Sheet1”) olarak ayarlayın

    Dim chkBox As OLEObject

    Set chkBox = ws.OLEObjects("CheckBox3")

    chkBox.Delete

    MsgBox “CheckBox başarıyla silindi!”, vbExclamation

End Sub

Adım 8: Yukarıdaki alt rutini çalıştırın. Bu onay kutusunun başarıyla silindiğini göreceksiniz.

VBA CHECKBOX Örneği 4-6
VBA CHECKBOX Örneği 4-7

Dikkat Edilmesi Gereken Önemli Noktalar

  • Kullanıcıların bir seçeneğin seçilip seçilmediğini belirtmeleri gereken ikili (doğru/yanlış) seçenekler için onay kutuları kullanın.
  • Verilerin kolay gösterimi ve işlenmesi için hücrelere onay kutuları bağlayın.
  • Benzer türden seçimler için uygulamanızın her yerinde onay kutularını tutarlı bir şekilde kullanın.
  • Kullanıcı arayüzünüzü çok fazla onay kutusuyla aşırı doldurmaktan kaçının, çünkü bu kullanıcıları bunaltabilir.
  • Önemli mantık veya doğrulama için yalnızca onay kutularının görsel durumuna güvenmeyin.
  • Kullanıcıları şaşırtabileceğinden onay kutularını belirsiz veya tutarsız şekilde etiketlemekten kaçının.
 


Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...