Visual Basic for Applications'da (VBA), Not anahtar sözcüğü bir olumsuzlama işlemi gerçekleştirmek için mantıksal bir operatör olarak kullanılır. Bir ifadenin mantıksal değerini tersine çevirmek için kullanılabilen bir anahtar sözcüktür.
Daha net anlaşılması için aşağıdaki örneğe bakınız.

Burada, iki değerin daha büyük olup olmadığını kontrol etmek için bir alt rutin oluşturulur. "Not" fonksiyonu, değerlerin daha büyük veya daha küçük OLMADIĞINI kontrol etmek için kullanılır. Bu, Immediate sekmesinde sırasıyla True ve False değerini döndürecektir.

- VBA Not operatörü, bir Boole ifadesinin mantıksal değerini olumsuzlamak için kullanılır.
- Boolean değişkenlerine uygulanabilir veya karmaşık koşullar oluşturmak için diğer mantıksal operatörlerle birlikte kullanılabilir.
- Not, tek bir işleçtir; bu, genellikle bir Boolean değeri olan tek bir işlenen üzerinde işlem yaptığı anlamına gelir.
- Genellikle mantıksal ifadelerde, belirli bir koşulun zıt durumunu kontrol eden koşullar oluşturmak için kullanılır.
Excel VBA Not Function Nasıl Kullanılır?
VBA Not fonksiyonunu etkili bir şekilde nasıl kullanacağınızı öğrenmek için aşağıda açıklanan adımları izleyin.
- Excel'de araç çubuğundan “Geliştirici”yi seçin. “Geliştirici” bölümünde “Visual Basic”i seçin. VBA Düzenleyicisi açılır.



VBA'da kodlamak için , VBA Editöründeki "Ekle" seçeneğine gidin ve "Modül"ü seçin. Adım adım açıklanan kodu takip edebilir ve böylece okurken uygulayabilirsiniz.

- Öncelikle alt rutininizin adını bildirin ve bir Boole değişkeni tanımlayın.

- Bunu “True” olarak başlatın.

- Boolean değerini bir mesaj kutusuna yazdır.

“vbInformation”, mesaj kutusundaki “Bilgi” simgesini tasvir etmek için kullanılan sabit bir değişkendir. - Daha önce verilen boolean değerini Not fonksiyonunu kullanarak olumsuzlayın.

- Mevcut değeri bir mesaj kutusuna yazdır.

Kod:
Aub ToggleBooleanExample()
Dim myBoolean As Boolean
myBoolean = True
MsgBox “Başlangıç değeri: ” & myBoolean, vbInformation
myBoolean = Not myBoolean
MsgBox “Güncellenen değer: ” & myBoolean, vbInformation
End Sub - Alt programı “F5” tuşuna basarak veya VBA Editörü araç çubuğundaki yeşil ok düğmesine tıklayarak çalıştırın ve sonucu bir mesaj kutusunda görün.



Artık VBA Not işlevini kendi amaçlarınız için nasıl kullanacağınızı biliyorsunuz. Daha ilginç örnekleri denemek için aşağıyı takip edin.
Örnekler
VBA Not fonksiyonunu farklı şekillerde kullanmanın heyecan verici yollarına bakalım.
Örnek 1
VBA Not işlevini farklı durumları karşılaştırmak ve zıtlaştırmak için nasıl kullanabileceğinizi görün. Bu yalnızca VBA Boole ifadeleri için değil, aynı zamanda koşulları kontrol etmek için de kullanılabilir .
- Adım 1: Bir alt rutini bildirmeye başlayın.

- Adım 2: Gösterildiği gibi birden fazla değişkeni tanımlayın ve başlatın.

Tek bir satırda birden fazla değişkeni tanımlamak için iki nokta üst üste işaretini kullanabilirsiniz.
- Adım 3: a'nın b'den küçük olup olmadığını kontrol edin.

“Debug.Print” fonksiyonunu kullanarak sonucu Hemen penceresine yazdırın.
- Adım 4: Benzer şekilde, b ve c'yi karşılaştırın. 'c'nin Null olarak bildirildiğini unutmayın. Kullanılan fonksiyondan bağımsız olarak bir Null değeri döndürecektir. Sonucu benzer şekilde yazdırın.

- Adım 5: d'nin a'dan küçük olup olmadığını kontrol edin. d'nin a'dan büyük olup olmadığını kontrol etmek için Not fonksiyonunu kullanın.

Sonucu Hemen sekmesine yazdırın.
- Adım 6: Not fonksiyonunu herhangi bir değişkenle (Null değişkeni hariç) kullanın.

Değeri olumsuzlamak yerine bit düzeyinde karşılaştırma yapacaktır. Bit düzeyinde karşılaştırma değerini anında sekmede yazdırın.
Kod:
Sub NOT_Function_For_Many_Cases()
a = 10: b = 12: c = Null: d = 14
chek = Not (a > b)
Debug.Print chek
chek = Not (b > c)
Debug.Print chek
chek = Not (d > a)
Debug.Print chek
chek = Not b
Debug.Print chek
End Sub
- Adım 7: Çalıştır düğmesine basın. Aşağıda gösterildiği gibi, yanıtları Hemen sekmesinde yazdırır.

Örnek 2
Bu örnekte, kullanıcıdan bir Boolean girdisi (True veya False) kabul eden bir alt rutin yazıyorsunuz. VBA Not Function'ı kullanarak Boolean fonksiyonunun tersini alabilir ve kullanıcının girdisine göre doğru/yanlış olup olmadığını kontrol edebilirsiniz. Eğlenceli bir oyun/aktivite olabilir.
- Adım 1: Öncelikle, verilen girdiye göre Boole değerinin tersini alan bir alt rutin tanımlayarak başlayabilirsiniz.

- Adım 2: Kullanıcıdan kabul edilecek bir Boole değişkeni tanımlayın.

- Adım 3: VBA InputBox fonksiyonunu kullanarak kullanıcıdan girdiyi True/False olarak alın.

Yukarıda gösterildiği gibi, InputBox'ın başlığını başlangıç ifadesinden sonra bildirerek tanımlayabilirsiniz .
- Adım 4: Kullanıcıdan gelen girdiyi CBool fonksiyonunu kullanarak Boolean değişkenine dönüştürün.

Koşul “True” ise, If ifadesi yürütülür ve çıktı bir ileti kutusunda yazdırılır.
- Adım 5: Yukarıdaki ifade “False” ise, Else bloğunun bu durumda çalıştırılacak şekilde tanımlandığı anlamına gelir.

Bu koşul için VBA bloğundaki If-Else koşulunu sonlandırın .
- Adım 6: Not fonksiyonunu kullanarak boolean koşulunu tersine çevirdikten sonra koşulun “True” olup olmadığını kontrol etmek için başka bir If-Else ifade bloğu bildirin. Örneğin, Not True sonucu “False” olarak döndürecektir.

Sonuç daha sonra bir Mesaj Kutusu fonksiyonunda yazdırılır.
- Adım 7: If ifadesinin yanlış olması durumunda bir Else bloğu tanımlayın. Not işlevini kullandıktan sonra, verilen koşul True değilse, koşulun False olduğunu belirten bir mesaj kutusunu VBA'da yazdırın.

Kod:
Sub ToggleConditionExample()
Dim condition As Boolean
condition = InputBox(“Enter True or False”, “Is it True/False”)
If CBool(condition) Then
MsgBox “Condition is True”, vbInformation
Else
MsgBox “Condition is False”, vbInformation
End If
If CBool(Not condition) Then
MsgBox “Condition is True after toggling”, vbInformation
Else
MsgBox “Condition is False after toggling”, vbInformation
End If
End Sub
- Adım 8: Çıktıyı görüntülemek için yukarıdaki alt rutini çalıştırın. “true” yazın.


Tamam'a tıkladıktan sonra şunu elde edersiniz:

Örnek 3
Bir sayının üçten büyük olup olmadığını kontrol etmek için bir UserForm oluşturmak istediğinizi varsayalım. Bunu yapmak için VBA UserForm'unuzu özelleştirebilirsiniz.
- Adım 1: “Ekle” seçeneğinin açılır menüsünde “Kullanıcı Formu”na tıklayarak yeni bir Kullanıcı Formu ekleyin.

- Adım 2: Boş bir UserForm oluşturun ve “Özellikler” bölümünden özelleştirin.


Şimdilik durum böyle.
- Adım 3: UserForm'a bir metin kutusu ekleyin ve özelliklerini özelleştirin.


“Font” özelliğinin yanındaki 3 nokta “…” kutucuğuna tıklayarak yazı tipi boyutunu özelleştirebilirsiniz.

Yazı tipini istediğiniz gibi özelleştirin.

- Adım 4: Bir komut düğmesi oluşturun ve özelliklerini özelleştirin.


Şimdi UserForm şu şekilde görünüyor.

- Adım 5: Kodunuzu yazmak için komut butonuna çift tıklayın.

Bu, daha önce tanımlanan düğmeye tıkladığınızda yürütülecek yeni bir özel alt rutin oluşturacaktır.
- Adım 6: Bir Boole değişkeni tanımlayın.

- Adım 7: Verilen metin kutusu değerinin 3'ten büyük olup olmadığını kontrol ederek koşulu başlatın.

Bu, True veya False olarak döndürülecektir. Metin kutusu daha önce tanımlanan metin kutusudur ve değeri VBA Değer işlevi kullanılarak kullanılabilir .
- Adım 8: VBA Not fonksiyonunu kullanarak koşulun yanlış olup olmadığını kontrol edin.

If-Else koşul bloğunu kullanarak, VBA Not fonksiyonunu If ifadesiyle birlikte kullanarak “False” olup olmadığını kontrol edin.
If bloğunun yürütüldüğünü gösteren bir MsgBox fonksiyonu yazdırın.
- Adım 9: Koşul “False” değilse, aksi takdirde yürütülecek bir Else ifadesi bildirin.

If-Else ifadesi bloğunu sonlandır.
- Adım 10: Unload anahtar sözcüğünü kullanarak VBA UserForm'u kapatın .

Bu, düğme tıklama alt rutininde If-Else ifadesi bloğu yürütüldükten sonra UserForm'u kapatır.
Kod:
Private Sub Btn_NOT_Click()
Dim condition As Boolean
condition = (TextBox1.Value > 3)
If Not condition Then
MsgBox “Condition is False”
Else
MsgBox “Condition is True”
End If
Unload UserForm1
End Sub
- Adım 11: UserForm’u çalıştırın ve sonuçları görün.


Aksi takdirde,


Dikkat Edilmesi Gereken Önemli Noktalar
- Mantıksal durumlarını olumsuzlamak için Boolean değerleriyle birlikte Not'u kullanın.
- Karşıt koşulu kontrol etmek için If veya While ifadelerinde Not'u uygulayın.
- Not'u doğrudan Boole olmayan VBA veri tipleriyle kullanmayın . Bit düzeyinde bir işlem gerçekleştirir.
- Not'u diğer mantıksal operatörlerle birleştirirken doğru değerlendirmeyi sağlamak için açıklık sağlamak amacıyla parantez kullanın.
VBA Not işlevinin düzgün çalışmamasının birçok nedeni olabilir. Bunlar şunlardan kaynaklanabilir:
• Yanlış Sözdizimi.
• Mantıksal ifadelerde Not'un yanlış kullanımı.
• Diğer veri türleriyle uyumsuzluk.
Evet, Boole olmayan veri tipleriyle kullanabilirsiniz Not, ancak yalnızca tam sayılarla çalışır. VBA Not fonksiyonu tekil bir tam sayıyla kullanıldığında gösterildiği gibi bit düzeyinde bir karşılaştırmaya dönüşecektir.
Bu, bit düzeyindeki karşılaştırmayı Hemen sekmesinde yazdıracaktır.
NotOlumsuzluk için diğer mantıksal operatörlerle birleştirebilirsiniz .
• Örnek: Eğer Değilse (x > 5 Ve y < 10).
• Netlik ve doğru değerlendirme için parantez kullanın.
Evet, NotVBA'daki karşılaştırma operatörleriyle birlikte kullanılabilir.
• Örnek: Eğer Değilse (x = 5) veya Eğer Değilse (y <> 10).
• Karşılaştırmanın sonucunu olumsuzlar.
