Vba'da açık seçenek ifadesi nasıl kullanılır?

Anahtar noktaları

  • Açık seçeneği tüm değişkenleri bildirmenizi gerektirir.
  • Bu, bir modülün başlangıcında kullanabileceğiniz bir bildirimdir.
  • Manuel olarak girebilir veya seçeneklerden etkinleştirebilirsiniz.
  • Option Explicit’i yalnızca bir kez kullanmalısınız.
  • Ayrıca değişkenleri kullanırken yazım hatalarını tanımlamanıza da yardımcı olur.

Açık VBA seçeneği nedir

Option Explicit, sizi tüm değişkenleri bildirmeye zorlamak için modülün başlangıcında kullanabileceğiniz bir ifadedir. Bu ifadeyi eklediğinizde, kodu çalıştırdığınızda VBA size bir derleme hatası gösterir ve ayrıca kodda bildirmeniz gereken değişkeni de vurgular.

vba-seçenek-açık

Bir modülün başına açık bir seçenek eklediğinizde, VBA bunun altına bir ayırıcı çizgi ekler ve ardından bir prosedür yazmaya başlayabilirsiniz. Açık bildirim seçeneğiniz olduğunda ve bir prosedür çalıştırdığınızda, VBA bildirilmemiş bir değişken olup olmadığını kontrol eder ve size bir hata mesajı gösterir.

 Option Explicit Sub myMacro() a = 50 MsgBox a End Sub
vba-add ayırıcı satırı

Yukarıda bir değişken bildirilmediğinde aldığınız mesaj yer almaktadır.

VBA’da açık seçeneği etkinleştir

Bir modülde açık seçenek bildirimini etkinleştirmek için şu adımları izleyin.

  1. Öncelikle Visual Basic Düzenleyicisi’ni açın ve Araçlar menüsünde Seçenekler’e tıklayın.
    activate-option-explicit-in-vba
  2. Bundan sonra seçeneklerde editör sekmesine gidin ve “Değişken bildirimi gerektir” kutusunu işaretleyin.
    editor-tab-and-tick-mark
  3. Sonunda Tamam’ı tıklayın.
  4. Bunu yaptığınızda, her yeni modül eklediğinizde VBA açık bir seçenek ekleyecektir.

Ancak bu bildirimi mevcut modülünüze eklemez, dolayısıyla bunları mevcut modüllerin her birine tek tek manuel olarak eklemeniz gerekir.

Manuel olarak nasıl eklenir?

Bahsettiğim gibi Option Explicit deyiminin ilk modül prosedüründen (Sub veya Function) önce gelmesi gerekir. Bu nedenle, bu bildirimi ilk prosedürün üstüne (genel bildirimler alanı) eklemeniz ve yalnızca bir kez eklediğinizden emin olmanız gerekir.

genel-bildirimler-alanı

Bunu bir prosedürün içine veya iki prosedür arasına eklerseniz, modülün kodlarından herhangi birini çalıştırmayı denediğinizde VBA size bir hata gösterecektir.

vba-size-bir-hata-gösterecek

Örnekler (Option Explicit Statement’ı kullanmak neden iyi bir alışkanlıktır)

Option Explicit ifadesinin neden şiddetle tavsiye edildiğini anlamanız için size bir örnek göstereyim. Aşağıdaki koda bakın.

 Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub

Bu kodda “myText” değişkenini string olarak tanımladım ve ardından bu değişkenin değerini ayarladım. Ve sonunda değişkenin değerini gösteren bir mesaj kutusu kullandım ancak dikkatli bakarsanız bu değişkeni “myText” yerine “MyTxt” olarak yanlış yazmışım.

beyan edilen değişken

Şimdi bu kodu çalıştırdığımda bana boş bir mesaj kutusu gösteriyor.

boş mesaj kutusu

Buradaki asıl sorunu anlamanıza yardımcı olmak için 2 dakikanıza ihtiyacım var. Değişken adını yanlış yazdığımda VBA bunu ayrı bir değişken olarak alıyor ve açık seçenek ifadesini kullanmadığım için bana hata göstermiyor.

değişken adında yazım hatası

Bu nedenle mesaj kutusu kendisine hiçbir değer atanmamış ikinci (yanlış yazılmış) değişkeni kullanır. Şimdi bir saniye düşünün; Uzun kod yazarsanız ve açık seçenek ifadeleri kullanmıyorsanız, kodun tamamını tekrar okuyana kadar bu hatanın izini sürmek zor olacaktır.

Ancak açık bildirim seçeneği AÇIK olduğunda bu kodu çalıştırdığımda bir hata alıyorum.

kullanım seçeneği-açık
 Option Explicit Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub

Yorum ekle

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