VBA Veri Türü - Veri Türleri Nasıl Bildirilir ve Atanır?

İçindekiler

VBA Veri Türü

Veri türü , herhangi bir değişkenin temel karakteridir, değişkende saklayabileceğimiz değer türünün ne olduğunu ve değişkende saklanabilecek değerlerin sınırının veya aralığının ne olduğunu, veri türleri yerleşik VBA'dır ve kullanıcı veya geliştiricinin hangi tür değerin hangi veri türünde saklanabileceğini bilmesi gerekir. Veri türleri değişkenlere atama, değişkenin derleyicinin depolama boyutunu belirtir.

VBA'da sayısal ve sayısal olmayan olmak üzere iki tür veri türüne sahibiz.

Herhangi bir veri türü atamadan önce, ilk olarak değişken adını açıklamamız gerekir. Değişken, değeri atanan veri türü aracılığıyla tutan bir addır. Değişkene bir isim verirken birkaç şeyi aklımızda tutmamız gerekiyor.

Değişkeni iki şekilde tanımlayabiliriz. Biri "Örtük olarak" ve diğeri "Açıkça".

  • Bir değişkeni tanımlamanın örtük yolu, "DIM" kelimesini ve ona veri türünü kullanmamaktır. Örneğin, MyValue = 500 , bir değişkeni bildirmenin örtük bir yoludur.
  • Bir değişkeni tanımlamanın açık bir yolu, "DIM" kelimesi ve onunla ilişkili veri tipidir. Örneğin, Dim MyValue as Integer .

İlk 2 Veri Türü Türü

Veri türünü önce değişkene atamak için, veri türlerinin türlerini anlamamız gerekir. Daha iyi anlamak için iki tabakaya ayırabiliriz.

# 1 - Sayısal Veri Türleri

Bunlar yalnızca sayısal değerleri tutabilir. En yaygın sayısal veri türleri Bayt, Tamsayı, Uzun, Tek, Çift, Para Birimi ve Ondalık'tır.

Veri türlerinin her biri ilgili değerlerini tutabilir. Aşağıda ayrıntılı bir açıklama bulunmaktadır.

  • Bir bayt , 0 ile 255 arasındaki değerleri tutabilir. 255'ten daha fazlasını tutamaz.
  • Tamsayı -32768 ile 32768 arasındaki değerleri tutabilir. Herhangi bir ondalık sayı tutamaz.
  • Uzun , -2.147.483.648 ile 2.147.483.648 arasındaki değerleri tutabilir.
  • Tek veri türü yalnızca 7 haneye kadar değerleri tutabilir, örneğin 1234567, 1.245564.
  • Çift veri tipi 15 haneye kadar değerleri tutabilir. Tek veri türünün genişletilmesidir.
  • Para birimi veri türü, ondalık değerden önce 15 basamak tutabilir ve ondalık değerden sonra 4 basamak tutabilir.
  • Ondalık veri türü 28 ondalık basamağa kadar tutabilir. 15 ondalık basamaktan daha fazlasını saklamak isterseniz, bu veri türünü kullanabilirsiniz.

# 2 - Sayısal Olmayan Veri Türleri

Bu veri türleri, sayısal değerlerden başka herhangi bir değeri tutabilir. Daha sık kullanılan sayısal olmayan veri türleri Variant , String, Boolean, Date, Object'dir.

  • Dize: İki tür dize veri türü vardır. Sayısal verileri tutabilen ve sayısal olmayan verileri tutabilen diğeri.
  • Dize Sabit uzunluk , 1 ila 65400 karakter arası karakterleri tutabilir.
  • Dize Değişken uzunluklu , 0 ila 2 milyar karakter arasında karakter tutabilir.
  • Boole , mantıksal sonuç değerlerini, yani DOĞRU veya YANLIŞ, tutabilir.
  • Bir tarih yalnızca 1 Ocak 100 ile 31 Aralık 9999 arasındaki tarih değerlerini içerebilir
  • Nesne , yalnızca Microsoft ürününün nesnelerini tutabilir. Örneğin, Çalışma Sayfası, Çalışma Kitabı, Aralık, PowerPoint, Word.
  • Bir varyantın ayrıca iki veri türü vardır, yani Metin ve Sayısal.
  • Değişken Metin , metin değerlerini değişken Dize Değişken uzunluğu ile aynı tutabilir .
  • Variant Numeric , Double veri tipiyle aynı sayısal değerleri tutabilir .

Çeşitli VBA Veri Türlerini kullanma örnekleri

Örneğin, önce bir veri türü atamak için, " Dim" kelimesini kullanarak bir değişken tanımlamamız gerekir.

Kod:

Sub DT_Example1 () Dim k End Sub

Şimdi "As" sözcüğünü kullanarak veri türünü atamamız gerekiyor. Şimdi veri türünü " Bayt" olarak atayacağım .

Kod:

Sub DT_Example1 () Dim k As Byte End Sub

Bildiğimiz gibi, Byte veri tipi 0 ile 255 arasındaki değerleri tutabilir. Ancak test etmek için 255'ten fazla bir değer atayacağım.

Kod:

Sub DT_Example1 () Dim k As Byte k = 260 End Sub

Şimdi, bu kodu çalıştırırsam, "Aşırı Akış" olarak hatayı alacağız.

Benzer şekilde, diğer veri türleri de sınırlarına göre değerleri tutabilir.

Şimdi aşağıdaki koda bir göz atın.

Kod:

Sub DT_Example2 () Dim k As Boolean k = 100 MsgBox k End Sub

Veri türü, DOĞRU veya YANLIŞ tutan "Boole" olarak atanır. Ancak değeri "k" değişkenine "100" olarak atadım.

Bu kodu çalıştırın ve ne olacağını görün.

Sonucu " Doğru" olarak aldık .

Excel, 0'dan daha fazlasını DOĞRU olarak değerlendirdiğinden ve 0'ı YANLIŞ olarak değerlendirdiğinden DOĞRU sonucunu almamızın nedeni.

Şimdi sayısal olmayan bir değer atayacağım ve ne olacağını göreceğim.

Hatayı aldık çünkü "Boole", DOĞRU veya YANLIŞ dışındaki metin değerlerini kabul edemez.

Ilginç makaleler...