Dim - Private ve Global - Public - Microsoft Excel


Bu yazıda Excel VBA’da değişken tanımlamada kullanılan anahtar kelimelerden Dim – Private ve Global – Public karşılaştırması yapağacağız.

Bilgi

Dim - Private

  • Çalışma biçimleri aynıdır.
  • Private çoğunlukla modül düzeyinde kullanılırken Dim, Sub yordam ya da Function düzeyinde kullanılır. Eğer “gizli” bir değişken Module düzeyinde tanımlanacaksa Private ya da Dim kullanılabilir, gel gelelim bir Sub yordam ya da Function içinde tanımlama yapacaksanız Dim kullanmanız gerekir.

Public - Global

  • Birbirlerine neredeyse özdeştir.
  • Global sadece standart modüllerde kullanılabilirken Public her yerde (Module, Class, Control, Form) kullanılabilir. (Yalnız kodun başına Option Private Module kodunun eklenip eklenmediğine bakıp ona göre hareket etmekte fayda var. Bu durumda Public olarak tanımlanmış değişkeni diğer modüllerden çağırırken sıkıntı çıkabilir.)
  • Global Visual Basic’in eski sürümlerinden gelmektedir ve bu eski sürümlere uyumluluk göstermesi amacıyla tutulmaktadır. Public, Global‘in yerini almıştır.
Kod


Option Explicit

'--------------------------------------------------
'Geçerli yordam içinde her yerden kullanılabilir.
'--------------------------------------------------
Dim degisken1 As String

'--------------------------------------------------
'Geçerli yordam içinde her yerden kullanılabilir.
'--------------------------------------------------
Private degisken2 As Integer

'--------------------------------------------------
'Geçerli yordamda ve diğer yordamlarda kullanılabilir.
'--------------------------------------------------
Global degisken4 As String

'--------------------------------------------------
'Geçerli yordamda ve diğer yordamlarda kullanılabilir.
'--------------------------------------------------
Public degisken3 As Long


Sub mesaj1()
    
    degisken1 = "Merhaba!" 'Dim
    degisken2 = 1          'Private
    degisken3 = 99999999   'Global
    degisken4 = "Selam!"   'Public
    
    MsgBox degisken1 & " | " & _
           degisken2 & " | " & _
           degisken3 & " | " & _
           degisken4
End Sub

Yararlanılan Kaynaklar
Etiketler
microsoft excel microsoft excel vba