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.
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
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.
- Öncelikle Visual Basic Düzenleyicisi’ni açın ve Araçlar menüsünde Seçenekler’e tıklayın.
- Bundan sonra seçeneklerde editör sekmesine gidin ve “Değişken bildirimi gerektir” kutusunu işaretleyin.
- Sonunda Tamam’ı tıklayın.
- 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.
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.
Ö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.
Şimdi bu kodu çalıştırdığımda bana boş bir mesaj kutusu gösteriyor.
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.
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.
Option Explicit Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub