VBA Boole Veri Türü (Dim Değişkeni)

Boole Değişken Türü

VBA Boolean veri türü, Doğru veya Yanlış değerleri depolamak için kullanılır. True ayrıca 1 ve False 0 ile temsil edilebilir.

Bir Boolean değişkeni bildirmek için Dim İfadesini kullanırsınız (Boyut'un kısaltması):

1 Boole olarak Dim blnA

Ardından, bir değişkene değer atamak için eşittir işaretini kullanmanız yeterlidir:

1 blnA = Doğru

Bunu bir prosedüre koyduğunuzda, şöyle görünebilir:

123456789101112 Alt blnÖrnek()'boole değişkenini bildirBoole olarak Dim blnA'değişkeni doldurmak için kodu çalıştır - genellikle kod bir if veya case ifadesidirAralık ("A1") > 0 iseblnA = doğruBaşkablnA = YanlışBitir'mesaj kutusunu gösterMsgBox "Hücrenin 0'dan büyük bir değere sahip olup olmadığını görmek için yapılan test " & blnAAlt Bitiş

Yukarıdaki kodu çalıştırırsanız, aşağıdaki mesaj kutusu gösterilecektir.

Modül veya Global Düzeyde Boole Değişkeni Bildirme

Bir önceki örnekte, Boole bir prosedür içinde değişkendir. Bir prosedürle bildirilen değişkenler yalnızca o prosedür içinde kullanılabilir.

Bunun yerine, Boole değişkenlerini modül veya global düzeyde bildirebilirsiniz.

Modül Seviyesi

sen beyan et Modül seviyesi ile kod modüllerinin en üstündeki değişkenler loş Beyan.

Bu değişkenler, o kod modülündeki herhangi bir prosedürle kullanılabilir.

Küresel düzey

sen de beyan et Küresel düzey kod modüllerinin en üstündeki değişkenler. Ancak, kullanmak yerine loş ifadesini kullanırsınız Halk olduğunu belirtmek için açıklama Boole değişken, VBA Projeniz boyunca kullanılmak üzere mevcuttur.

1 Boole olarak Public blnA

beyan edecek olsaydınız Boole bir modül düzeyinde değişken ve ardından farklı bir modülde kullanmayı deneyin, bir hata alırsınız.

Ancak, şunu bildirmek için Public anahtar sözcüğünü kullanmış olsaydınız, Boole değişken, hata oluşmayacak ve prosedür mükemmel bir şekilde çalışacaktır.

Boole Değişkeni Kullanma

Mantıksal karşılaştırmada Boolean değişkenini kullanırsınız. Bunlar genellikle, yukarıdaki örneğe göre bir koşulun Doğru veya Yanlış olup olmadığını test etmek için If ifadeleriyle veya mantıksal bir test uygulamak için bir kod satırında - belki bir değerin diğerinden büyük olup olmadığını görmek için kullanılır.

12345678 Alt blnÖrnek()'boole değişkenini bildirBoole olarak Dim blnA'bir sayının bir sonraki sayıdan büyük olup olmadığını test edinblnA = 45 > 68'mesaj kutusunu gösterMsgBox blnAAlt Bitiş

Yukarıdaki kodu çalıştırırsanız, aşağıdaki mesaj kutusunu alacaksınız.

çünkü elbette 45, 68'den büyük değil!

Boole Operatörlerini Kullanma

Mantıksal karşılaştırmada Boole değişkenleri kullanıldığından, birden fazla koşulun doğru veya yanlış olup olmadığını test etmek için AND ve OR mantıksal operatörlerini kullanabiliriz.

AND operatörünü kullanma

İKİ koşulun karşılanıp karşılanmadığını görmek için VE işlevini kullanabiliriz.

12345678 Alt blnÖrnek()'boole değişkenini bildirBoole olarak Dim blnA'her iki koşulun da doğru olup olmadığını test etmek için AND operatörünü kullanınblnA = 10 > 13 Ve 15 > 12'mesaj kutusunu gösterMsgBox blnAAlt Bitiş

veya aynı testi bir If İfadesi kullanarak çalıştırabiliriz:

123456789101112 Alt blnÖrnek()'boole değişkenini bildirBoole olarak Dim blnA'her iki koşulun da doğru olup olmadığını test etmek için AND operatörünü kullanın10 > 13 Ve 15 > 12 iseblnA = DoğruBaşkablnA = YanlışBitir'mesaj kutusunu gösterMsgBox blnAAlt Bitiş

Yukarıdaki her iki örnek de dönecektir YANLIŞ 10 olması nedeniyle OLUMSUZ 13'ten büyük - ve İKİSİ BİRDEN Boolean'ın True olması için koşulların True olması gerekir.

VEYA operatörünü kullanma

Koşullardan BİRİNİ karşılanıp karşılanmadığını görmek için VEYA işlevini kullanabiliriz.

12345678 Alt blnÖrnek()'boole değişkenini bildirBoole olarak Dim blnA'her iki koşulun da doğru olup olmadığını test etmek için AND operatörünü kullanınblnA = 10 > 13 Veya 15 > 12'mesaj kutusunu gösterMsgBox blnAAlt Bitiş

veya aynı testi bir If İfadesi kullanarak çalıştırabiliriz:

123456789101112 Alt blnÖrnek()'boole değişkenini bildirBoole olarak Dim blnA'her iki koşulun da doğru olup olmadığını test etmek için AND operatörünü kullanın10 > 13 VEYA 15 > 12 iseblnA = DoğruBaşkablnA = YanlışBitir'mesaj kutusunu gösterMsgBox blnAAlt Bitiş

Bu örnekler dönecek NS 10'un 13'ten büyük DEĞİL, AMA 15'in 12'den büyük olması nedeniyle - veSADECE BİR Boolean'ın True olması için koşulun True olması gerekir.

If deyimlerini kullanmak, daha mantıklı operatörler kullanmamızı sağlar

NOT operatörünü kullanma

NOT operatörünü Boolean değişkeni ile de kullanabiliriz. NOT operatörü, koşulun değerini olumsuzlar - bu nedenle bir koşul doğruysa, NOT operatörü false döndürür.

12345678910111213141516 Alt FindDifferences()'aralık değişkenlerini bildirAralık olarak Dim rng1Aralık olarak Dim rng2'birinci sayfayı etkinleştirÇalışma Sayfaları("Sayfa1").Etkinleştir'aralıkları doldurrng1 = Aralık ("A3") olarak ayarlarng2 = Aralık ("B3") olarak ayarlaDeğerlerin eşit olup olmadığını görmek için DEĞİL operatörünü kullanın.rng1.Value = rng2.Value Değilse O zamanMsgBox "Hücrelerdeki değerler eşit değil"BaşkaMsgBox "Hücrelerdeki değerler eşittir"BitirAlt Bitiş

Xor Mantıksal Operatörünü Kullanma

NSXor mantıksal operatör, iki veya daha fazla koşulu karşılaştırmak için kullanılır. Koşullardan biri doğruysa, TRUE değerini döndürür. 2 koşul varsa ve HİÇBİRİ doğru veya HİÇBİRİ doğru değilse, YANLIŞ döndürür.

1234567891011121314151617 Alt blnÖrnek()'tamsayıları bildirTamsayı Olarak Dim intADim intB Tamsayı Olarak'boole değişkenini bildirDim blnResult As Boole'değişkenleri doldurintA = 5intB = 10'birinin doğru olup olmadığını kontrol etintA = 5 X veya intB = 5 iseblnResult = DoğruBaşkablnResult = YanlışBitirMsgBox blnSonuçAlt Bitiş

Yukarıdaki örnekte, koşullardan BİRİ DOĞRU olduğu için mesaj kutusu dönecektir. NS.

1234567891011121314151617 Alt blnÖrnek()'tamsayıları bildirTamsayı Olarak Dim intADim intB Tamsayı Olarak'boole değişkenini bildirDim blnResult As Boole'değişkenleri doldurintA = 5intB = 5'birinin doğru olup olmadığını kontrol etintA = 5 X veya intB = 5 iseblnResult = DoğruBaşkablnResult = YanlışBitirMsgBox blnSonuçAlt Bitiş

Ancak, yukarıdaki örnekte, BOTH koşulları doğru olduğu için mesaj kutusu geri dönecektir. YANLIŞ.

1234567891011121314151617 Alt blnÖrnek()'tamsayıları bildirTamsayı Olarak Dim intADim intB Tamsayı Olarak'boole değişkenini bildirDim blnResult As Boole'değişkenleri doldurintA = 6intB = 8'birinin doğru olup olmadığını kontrol etintA = 5 X veya intB = 5 iseblnResult = DoğruBaşkablnResult = YanlışBitirMsgBox blnSonuçAlt Bitiş

ve son olarak, her iki koşul da YANLIŞ olduğundan, mesaj kutusu da YANLIŞ döndürür.

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

wave wave wave wave wave