VBA Genel Değişkeni

İçindekiler

Bu eğitimde Global Değişkenleri ele alacağız. VBA'daki bir değişkenin farklı bir kapsamı olabilir. Bir değişkenin kapsamı, koddaki konumuna ve bildirilme şekline bağlıdır. Bir değişkenin kapsamı, görünürlüğünü ve nerede kullanılabileceğini gösterir.

Prosedür Düzeyinde Değişken

Bu değişkenler yalnızca içinde bildirildikleri Alt Yordam veya İşlev içinde kullanılabilir. Dim anahtar sözcüğünü kullanarak Yordam düzeyinde bir değişken bildirmelisiniz. Ek olarak, ilgili Alt Prosedür veya İşlev içine yerleştirmelisiniz. Prosedür düzeyinde bir değişkeni bildirme şekliniz aşağıdaki kodda gösterilmiştir:

1234567 Alt BildirmeAProcedureLevelVariable()Bir Sayıyı Tamsayı Olarak KarartınbazıSayı = 5MsgBox bazıNumberAlt Bitiş

Sonuç:

Bu değişkeni yalnızca DeclaringAProcedureLevelVariable() adlı Alt Prosedür içinde kullanabilirsiniz. Bu Alt Prosedürde olduğundan ve Dim anahtar sözcüğünü kullandık. Başka bir Alt Prosedürden çağırırsanız, aşağıdaki hatayı alırsınız:

Modül Seviye Değişkeni

Aynı modül içindeki Alt Prosedürler veya Fonksiyonlardan herhangi birinde Modül seviyesi değişkeni kullanabilirsiniz. Değişken bildirimini, Seçenekler Açık ifadesinin altındaki Bildirimler bölümünde modülün en üstüne yerleştirmeniz ve Dim anahtar sözcüğünü kullanmanız gerekir:

Bir hata mesajı yerine ikinci Alt Prosedürü çalıştırdığımızda, çalışma kitabının A1 hücresinde aşağıdaki sonucu alıyoruz:

Küresel Düzey Değişkeni

Modüllerinizde, Fonksiyonlarınızda, Alt Prosedürlerinizde ve Sınıflarınızda Global bir değişken kullanabilirsiniz. Deklarasyonlar Bölümünde, Seçenekler Açık ifadesi altında ve Global anahtar sözcüğünü kullanarak bir Global değişken bildirirsiniz. Global seviye değişkeni bildirme şekliniz aşağıda gösterilmiştir. Modül1'deki Alt Prosedürlerin her ikisi de bu değişkeni kullanabilir.

Bu değişken Global düzeyde bir değişken olduğundan Modül2'de de kullanabilirsiniz:

Bu kodu Module2'den çalıştırdığınızda aşağıdaki sonucu alırsınız:

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave