Excel VBA Boole Operatörü Nedir?
Boolean veri türü genellikle mantıksal testin TRUE veya FALSE sonucuna göre görevleri gerçekleştirmek için mantıksal işlemlerde kullanılır. Herhangi bir değişkene bir Boolean veri türü atadığımızda, belleğin 2 baytını kaplar. Boolean değerleri TRUE veya FALSE dışındaki sayısal değerlerle temsil edilir. TRUE 1 ile temsil edilir. FALSE 0 ile temsil edilir.
Örneğin aşağıdaki koda bakalım.
Sub Boolean_Intro()
Dim Exam_Score As Integer
Dim Total_Score As Integer
Dim Result As Boolean
Exam_Score = 50
Total_Score = 60
Result = Exam_Score >= (Total_Score * 0.5)
MsgBox Result
End Sub
Sınavı ve toplam puanları depolamak için Integer veri türü değişkenleri tanımladık. Benzer şekilde, Result değişkeni de VBA Boolean veri türüyle tanımlanır. Sınav puanı toplam puanın %50'sinden büyük veya eşitse, o zaman TRUE değerini göreceğiz, aksi takdirde FALSE değerini göreceğiz.

Sınav puanının değeri toplam puanın %50'sinden büyük olduğundan Boolean sonucunu TRUE olarak elde ederiz.
Önemli Noktalar
- VBA Boolean fonksiyonu, VBA dilinin bir parçası olarak kullanılabilen yerleşik bir veri türüdür.
- VBA Boolean yalnızca iki değeri kabul eder, yani TRUE ve FALSE. TRUE 1 ile, FALSE ise 0 ile gösterilir.
- VBA Boolean 0'ı YANLIŞ olarak ele alır, ancak diğer tüm sayıları DOĞRU olarak ele alır.
- VBA Boolean değerleri tam sayılara ve dizgeye dönüştürülebilir.
VBA Programlama Dilinde Boolean Veri Türüyle Çalışma
VBA Boolean değişken veri türünün işlevselliğini anlamak için aşağıdaki adımları izleyin.
Adım 1: Visual Basic Düzenleyicisi penceresinde bir alt rutin prosedürü başlatın.
Not: Visual Basic düzenleyici penceresini açmak için, açık Excel çalışma kitabında Excel kısayol tuşu ALT + F11'e basın.

Adım 2: Bir değişkeni, ona bir isim vererek tanımlayın. Bir değişkeni tanımlamak için DIM anahtar sözcüğünü kullanın.

Adım 3: Değişken tanımlandıktan sonra, bir veri türü atamalıyız. Bu nedenle, "As" anahtar sözcüğünü kullanın ve veri türünü "Boolean" olarak atayın.

Tanımlanan değişkene VBA Boolean veri türü atandığında bunu mavi renkte görebiliriz.

Adım 4: Artık Boolean veri türü değişkenine yalnızca TRUE veya FALSE olmak üzere Boolean değerleri atayabiliriz.
Ancak bunun işlevselliğini anlamak için tanımlanan değişkene farklı bir değer atayalım.

Adım 5: Şimdi kodu çalıştırmayı deneyelim ve ne olacağını görelim.

Adım 6: “ Çalışma zamanı hatası '13': “Tür uyuşmazlığı .” ifadesini belirten bir hata aldık .
Tanımladığımız değişkene atadığımız değerlerin uyuşmaması, sadece Boolean değerlerini, yani TRUE veya FALSE değerlerini kabul etmesinden kaynaklanmaktadır.
Adım 7: Boolean veri tipindeki değişkene bir değer atamak yerine bazı mantıksal testler uygulayabiliriz. Mantıksal testler yalnızca Boolean değerleri döndürür, yani TRUE veya FALSE.
Mantıksal işlemi aşağıdaki gibi atayalım.

Adım 8: “MyVar” değişkeninin değerini bir mesaj kutusunda gösterelim.

Adım 9: F5 kısayol tuşuna basarak kodu çalıştırın. Tanımlanan değişkene uygulanan mantıksal teste göre Boolean sonucunu alırız.

Uygulanan mantıksal test 45 > 50, 45'in 50'den büyük olmaması nedeniyle YANLIŞ bir Boole sonucu döndürür. Bu şekilde, VBA Boole veri türüyle çalışabiliriz.
Boolean Veri Türü TRUE veya FALSE dışında tutulamaz
VBA Boolean, yalnızca iki değer içerebilen mantıksal bir veri türüdür: TRUE (1) ve FALSE (0). Boolean veri türünü yalnızca TRUE veya FALSE değerlerini depolamak için kullanabiliriz ve bu iki değerin dışındaki her şey VBA'da bir hata Türü Uyuşmazlığı ile sonuçlanacaktır .
VBA Boolean veri türüyle ilişkili hatayı göstermek için aşağıdaki VBA koduna bakalım .
Sub Boolean_Only_TRUE_FALSE()
Dim K As Boolean
K = “Hi There!”
MsgBox K
End Sub
- VBA'da bir "k" değişkeni tanımladık ve veri türünü Boolean olarak atadık. Aşağıdaki satırda, Excel VBA'da Boolean değeri olmayan "Hi There!" tanımlı değişkene bir değer atadık.
- Kodun son satırında “k” değişkenine atanan değeri bir mesaj kutusunda göstermeye çalışıyoruz.
Kodu çalıştıralım; aşağıdaki hata mesajını görüyoruz.

Run-time error 13 Type mismatch hata mesajını aldık . Bu, tanımlanan değişkene atanan değerin Boolean değeri olmamasından kaynaklanmaktadır.
Şimdi aşağıdaki koda bakalım.
Sub Boolean_Only_TRUE_FALSE()
Dim K As Boolean
K = 1
MsgBox K
End Sub
Artık metin değeri yerine sayısal bir değer, yani 1 atadık. Şimdi kodu çalıştıralım ve karşılığında ne elde ettiğimizi görelim.

Sayısal bir değer atadığımız halde Boolean değer sonucunu yani TRUE sonucunu aldık.
Garip görünüyor, ancak gerçek şu ki VBA Boolean'da bir TRUE ve 0 FALSE olarak temsil edilir. Dolayısıyla, tanımlı değişkene 1 sayısal değeri atamış olsak bile yine de TRUE aldık.
Benzer şekilde şimdi aşağıdaki koda bakalım.
Sub Boolean_Only_TRUE_FALSE()
Dim K As Boolean
K = 0
MsgBox KEnd Sub
Bu sefer 1 yerine 0 sayısal değerini atadık. Kodu çalıştıralım ve karşılığında ne elde ettiğimizi görelim.

Bu sefer FALSE cevabımız var çünkü sayısal değer 0, Boolean dilinde FALSE olarak temsil edilir.
VBA Boolean'da tüm sayılar DOĞRU'dur ve sıfır YANLIŞ'tır
Boolean veri türü hakkında bir diğer ilginç gerçek ise 0 dışındaki tüm sayıların TRUE olarak temsil edilmesidir. Şimdiye kadar, 1'in TRUE olarak ve 0'ın FALSE olarak temsil edildiğini gördük.
Ancak sadece bir sayı değil, 0 dışındaki tüm sayılar DOĞRU, sadece 0 YANLIŞ olarak kabul edilir.
Örneğin aşağıdaki koda bakalım.
Sub Boolean_Only_TRUE_FALSE()
Dim K As Boolean
K = 100
MsgBox K
End Sub
Burada 100 sayısal değerini atadık ve karşılığında kodu çalıştırdığımızda aşağıdaki sonucu aldık.

Sıfır, VBA Boolean veri türünde FALSE olarak değerlendirilecek tek sayıdır.
VBA Boolean Operatörü IF Koşuluyla
VBA Boolean operatörü, Excel'de mantıksal testler için IF koşuluyla birlikte yaygın olarak kullanılır ve sonuç değerine göre istenilen sonucu elde etmek için kullanılır.
Örneğin, Excel elektronik tablosundaki aşağıdaki verilere bakın.

A2 ve B2 hücrelerinde sırasıyla hedef ve gerçek değerlerimiz var. C2 hücresinde, aşağıdaki mantıksal teste dayanarak sonuca ulaşmalıyız.
Mantıksal Test = Gerçek değer hedef değerden büyükse sonuç “Başarıldı” olmalıdır. Değilse “Başarılmadı” olmalıdır. [Logical Test = If the actual is greater than the target value the result should be “Achieved.” If not, then it should be “Not Achieved.”]
Aşağıdaki kod, A2 ve B2 hücrelerindeki değerlere göre mantıksal testi yapacak ve sonucu C2 hücresinde bulacaktır.

Parça Parça Kod Açıklaması:
Bölüm 1: Hedef ve gerçek değeri tutacak iki değişken tanımladık.
Bölüm 2: Mantıksal test sonucunu tutacak başka bir değişken ve onun değişken veri türü Boolean tanımlandı.
Bölüm 3: A2 ve B2 hücrelerindeki hedef ve gerçek değerleri ilgili değişkenlere atadım.
Bölüm 4: Mantıksal testin sonucunu uygulayarak gerçek değerin hedef değere eşit veya ondan büyük olup olmadığını kontrol edin.
Bölüm 5: Elde edilen Boolean mantıksal sonucunu kullanarak, C2 hücresindeki sonuç değerine ulaşmak için IF koşulunu uyguladık. Boolean değişkeni “Boolean_Result” TRUE ise, sonuç hücresi C2'ye “Achieved” ekleyecek ve Boolean değişkeni “Boolean_Result” FALSE ise, sonuç hücresi C2'ye “Not Achieved” ekleyecektir.
Kodu çalıştıralım ve sonucu C2 hücresinde görelim.

B2 hücresindeki değer (gerçek değer) A2 hücresindekinden (hedef değer) büyük olduğundan, mantıksal test DOĞRU sonucunu döndürdü. Bu nedenle, EĞER koşulu C2 hücresindeki sonucu “Başarıldı” olarak gösterdi.
VBA Boolean'dan Integer'a: VBA CINT fonksiyonunu kullanarak Boolean'ı Integer değerine dönüştürebiliriz. Örneğin, aşağıdaki koda bakın.
Sub Boolean_Int()
Dim A As Boolean
A = 0
MsgBox A
End Sub
"A" değişkeni için, Boolean dilinde FALSE'ı temsil eden 0 sayısını atadık. Sonra, değeri bir mesaj kutusunda gösteriyoruz.

Boolean'da 0 FALSE'a eşit olduğundan, mesaj kutusunda FALSE sonucunu alırız.
Benzer şekilde aşağıdaki koda da bakın.
Sub Boolean_Int()
Dim A As Boolean
A = 0
MsgBox Cint(A)
End Sub
VBA Boolean değerini tam sayı değerine dönüştürmek için VBA CINT işlevini kullandık. Şimdi bir mesaj kutusunda aşağıdaki sonucu göreceğiz.

VBA CINT veri türü dönüştürme işlevini kullandığımızdan, VBA Boolean değeri bir tamsayı değerine dönüştürülmüştür. Bu nedenle, Boolean sonucu FALSE yerine sıfırı gösterir.
Benzer şekilde, VBA CStr kullanarak Boolean'ı String'e dönüştürebiliriz .
Dikkat Edilmesi Gereken Önemli Noktalar
- VBA Boolean değişkenine atanan değer TRUE veya FALSE dışında bir değerse, VBA Boolean bir tür uyuşmazlığı hatası döndürür.
- VBA Boolean veri türü yalnızca bir testin çıktısının TRUE veya FALSE olduğundan emin olduğunuzda kullanılabilir.
- Boole değeri tam sayıya dönüştürüldüğünde, VBA değeri bir Boole olarak değil, tam sayı olarak ele alır.
VBA'daki Boole operatörleri şunlardır.
1. Büyüktür (>)
2. Büyüktür veya Eşittir (>=)
3. Küçüktür (<)
4. Küçüktür veya Eşittir (<=)
5. Eşittir (=)
6. Eşit Değildir (<>)
7. VE & VEYA
Herhangi bir değişkene VBA Boolean veri tipi atadığımızda, bu değişken bellekte 2 byte yer kaplar.
VBA Boolean'ın varsayılan değeri FALSE'dur.
