VBA Global Değişkenleri - VBA'da Global Değişken Nasıl Bildirilir?

Bazı işlevler bir işlev içinde tanımlanır ve işlevler içinde kullanılır ve bazı değişkenler işlevlerin dışında tanımlanır ve tüm işlevler tarafından kullanılır ve bu tür değişkenler Global Değişkenler olarak kullanılır, örneğin, alt işlev altında açıklanan değişkenler Global Değişkenler olarak bilinir.

Excel VBA'da Global Değişken

Bir değişkeni bildirmek oldukça basit görünüyor, ancak onları iyi uygulamalıyız, bu değişkenlerin kapsamını anlamamız gerekiyor. Çoğunlukla, her seferinde alt prosedür içindeki her makro için değişkenleri bildiririz. Ancak tek bir değişken tanımlayarak, onu aynı modüldeki tüm makrolarda ve mevcut VBA projesinin diğer modüllerinde kullanabiliriz. Bu yazıda, Excel VBA'da Global Değişkenleri nasıl bildireceğinizi göstereceğiz.

Excel VBA'daki Global Değişkenler nelerdir?

VBA Global Değişkenleri, modüldeki herhangi bir makro başlamadan önce bildirilen değişkenlerdir. Değişkenler "Genel" veya "Global" kullanılarak bildirildiğinde, "Global Değişken" olur.

Alt Prosedür Değişkenleri Hiçbir Yerde Kullanılamaz.

Genellikle VBA'daki alt yordamın içindeki değişkeni "Dim" kelimesini kullanarak bildiririz.

Yukarıdaki resme bakın. Global_Example1 alt prosedürü içinde "k" değişkenini tamsayı olarak tanımladım.

Bu değişkeni bu Sub prosedüründe herhangi bir zamanda kullandığımızı varsayalım. Ancak bu değişkeni başka bir alt yordamda VBA'daki aynı sınıf modülünde veya başka bir modülde kullanamıyorum.

Yukarıdaki görüntüde gösterildiği gibi, Global_Example1 alt prosedüründe bildirilen "k" değişkeni, Global_Example2 Alt prosedüründe kullanılamaz.

Benzer şekilde, Global_Example2 alt prosedüründe bildirilen "j" değişkeni, her iki alt prosedür de aynı modülde olsa bile Global_Example1 Alt prosedüründe kullanılamaz.

VBA'da Global Değişken Nasıl Bildirilir?

Aşağıdakiler, excel VBA'da genel bir değişken bildirmenin yollarıdır.

# 1 - Modül Değişkenleri, Aynı Modüldeki herhangi bir Alt Prosedürde kullanılabilir

Gördüğümüz gibi, alt prosedür değişkenlerini modüllerin hiçbirinde kullanamıyoruz. Bunları aynı modüldeki tüm Sub prosedürler için kullanılabilir hale getirmek için, modülün üst kısmındaki değişkenleri tanımlamamız gerekir.

Yukarıdaki görüntüde, değişkeni sadece modülün başlangıcında tanımladım. Modül 1'de “MyNumber” değişkenini Tamsayı olarak ifade ettim .

Değişken modülün tepesinde bildirildikten sonra, aynı değişkeni aynı modüldeki diğer tüm Sub prosedürler için kullanabiliriz. Bu durumda, Modül 1'deki tüm Alt prosedürler için “MyNumber” değişkenini kullanabiliriz .

Sorun şu ki, onları diğer modüllerin hiçbirinde kullanamıyoruz. Bu durumda Modül 1'de belirtilen "MyNumber" değişkeni Modül 2'de kullanılamaz .

# 2 - Global Değişkenler herhangi bir Alt Prosedürde ve ayrıca herhangi bir Modülde kullanılabilir

Şimdi iki tür değişken bildirimi ve kullanım sırasında bunların kapsamını gördük. Heyecan verici olan şey, değişkeni modüllerin herhangi birinde bildirebilir ve aynı VBA Projesinin tüm modüllerinde tüm Alt prosedürler için kullanabiliriz.

Değişkeni tüm modüller boyunca tüm Alt prosedürler için kullanılabilir hale getirmek için, değişkeni modülün üst kısmındaki "Dim" kelimesini kullanarak değil, "Genel" veya "Global" adını kullanarak bildirmemiz gerekir.

Yukarıdaki resimde, değişkeni bildirmek için eski kelimemiz "Dim" yerine "Genel" kelimesini kullandığımı görebilirsiniz .

Yukarıdaki ekran görüntüsünde, Modül 1'deki değişkeni tanımladım. Modül 2 ve Modül 3 adında iki modülüm daha var .

Değişkeni modülün üst kısmındaki "Genel" kelimesini kullanarak tanımladığım için, artık bu değişkenlere aynı çalışma kitabının herhangi bir modülündeki herhangi bir alt yordamda erişebilirim.

Sadece "Genel" değil, aynı zamanda değişkeni bildirmek için "Global" kelimesini de kullanabiliriz.

Global & Public, değişkeni bildirmek ve bunları VBA'daki modüller arasında kullanılabilir kılmak için iki anahtar sözcüktür.

Hatırlanacak şeyler

  • Excel makrosu global bir değişkenin değeriyle çalıştığında, değişken tüm Alt prosedürlerde aynıdır.
  • VBA'da global değişkenleri bildirmek ve tüm değişkenleri tek bir modülde bulundurmak için belirli bir modülü korumak daha iyidir.
  • Değişkenin değerini sıfırlamanın tek yolu, durdur düğmesine basarak makro kodunu sıfırlamaktır.

Ilginç makaleler...