VBA IF NOT, belirli bir koşul karşılanmadığında bir şey yapmanıza izin veren bir tür koşullu ifadedir. Bir koşulun yanlış olup olmadığını görmek için bir tekniktir ve eğer öyleyse bir kod bloğu çalıştırılır. VBA programları, belirli bir koşulun doğru olup olmadığını belirlemek için sıklıkla "IF NOT" kullanır. Bir örneğe bakalım. Bu örnekte, VBA IF NOT ifadesini kullanarak sağlanan yolda bir dosyanın olup olmadığını kontrol eden "CheckFileExistence" adlı bir VBA alt rutinimiz var.

filePath adında bir dize değişkeni tanımlıyoruz ve buna bir dosya yolu atıyoruz (C:\Users\Vikram\Desktop\example.txt).
Sonra, filePath tarafından verilen dosyanın var olup olmadığını “VBA IF NOT” ifadesi ve Dir fonksiyonu kullanarak kontrol ederiz. Dosya yoksa, Dir fonksiyonu boş bir dize döndürür, bu nedenle VBA IF NOT koşulu Dir(filePath) çıktısının boş bir dize olup olmadığını belirler. Dosya varsa, “Dosya var” diyen bir mesaj görüntüler ve yoksa “Dosya yok” gösterir.

- VBA IF NOT, bir koşulun yanlış olup olmadığını kontrol etmek ve koşul karşılanmadığında kodu çalıştırmak için kullanılır.
- VBA programlarında koşullu kontrol için çeşitli veri tipleriyle ve döngülerle birlikte “IF NOT” kullanabilirsiniz.
- VBA'daki NOT fonksiyonu mantıksal işlemlerde kullanışlı olabilecek Boolean değerlerini tersine çevirir.
- İki değerin veya değişkenin farklı olup olmadığını görmek için VBA IF NOT Equal işlevini kullanın. Bir eşitsizlik koşulu karşılandığında, genellikle belirli eylemleri gerçekleştirmek için kullanılır.
- VBA IF NOT Empty, bir değişkende, hücrede veya dizide veri olup olmadığını kontrol etmek için kullanılır. Bir veri kabı boş olmadığında yalnızca kodu çalıştırmanız gerektiğinde, bu teknik sıklıkla kullanılır.
VBA'da, mantıksal işlev "NOT" diğer mantıksal işlevlerden farklı şekilde çalışır. Excel ve VBA'da, mantıksal işlevlerin çoğu test yanlışsa (yani yanlışsa) "FALSE" ve test doğruysa (yani doğruysa) "TRUE" döndürür. Ancak, "VBA NOT" işlevi tam tersi etkiye sahiptir.
“ VBA NOT ” işlevi kullanıldığında “FALSE” döndürülür ve mantıksal testin yanlış olduğunu (false) belirtir ve “TRUE” doğru olduğunda döndürülür (true). Temelde diğer mantıksal işlevlerin ters işlevidir çünkü mantıksal testin sonucunu tersine çevirir.
VBA NOT fonksiyonunun nasıl çalıştığına dair basit bir açıklama:
- Mantıksal test doğruysa “VBA NOT” false değerini döndürür.
- Mantıksal test yanlışsa “VBA NOT” doğru değerini döndürür.
VBA'da IF NOT Nasıl Kullanılır?
VBA’da “IF NOT” kullanmak için şu adımları izleyin.
Adım 1: Excel'i açın ve VBA düzenleyicisini açmak için ALT + F11 tuşlarına basın.

Adım 2: Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

Adım 3: Bir koşulu kontrol etmek için “IF NOT” ifadesini kullanarak VBA Kodunuzu modül içinde yazın. Aşağıdaki sözdizimini kullanın:
If Not (Koşul) Then
' Koşul karşılanmadığında yürütülecek herhangi bir kod
End If
"Koşul"u kontrol etmek istediğiniz gerçek koşulla değiştirin.
Adım 4: VBA düzenleyicisini kapatıp Alt + F8 tuşlarına basarak VBA Kodunuzu çalıştırın . Kodunuzu içeren makroyu seçin ve “Çalıştır”a tıklayın.
Örnekler
Örnek 1 – Eşitliği kontrol etmek için VBA IF NOT kullanımı
Bu örnekte, VBA IF NOT kullanarak iki değişkenin eşit olup olmadığını nasıl kontrol edeceğimizi ve koşul sağlandığında bir mesaj göstereceğimizi öğreneceğiz.
Adım 1: Bu adımda, "CheckEquality" adlı bir VBA alt rutini tanımlayarak başlıyoruz. Ardından, sayısal değerleri tutmak için Dim ifadesi kullanılarak x ve y olmak üzere iki tam sayı değişkeni bildirilir.

Adım 2: Burada x değişkenlerine sırasıyla 5 ve y değişkenlerine 10 değerlerini atıyoruz.

Adım 3: Şimdi, (x = y) koşulunun doğru olup olmadığını kontrol etmek için ” VBA IF NOT” ifadesini kullanırız. (x = y) koşulu, x ve y değerlerini eşitlik açısından karşılaştırır. Not anahtar sözcüğü koşulu olumsuzlar, bu nedenle kod bloğu yalnızca x, y'ye eşit değilse yürütülür.

Adım 4: IF NOT bloğunun içindeki bir “MsgBox” VBA ifadesi, koşul yanlışsa “x, y'ye eşit değildir” metninin bulunduğu bir mesaj kutusu gösterir.

Adım 5: Modülü kaydedin ve Çalıştır'a tıklayın. Bu kodu çalıştırdığınızda, "x" ve "y" değişkenlerinin eşit olup olmadığını belirler, ki bu durumda eşit değillerdir ve "x, y'ye eşit değildir" sözcüklerinin bulunduğu bir mesaj kutusu gösterir.

İşte kodun tamamı:
Sub CheckEquality()
Dim x As Integer
Dim y As Integer
x = 5
y = 10
If Not (x = y) Then
MsgBox “x, y'ye eşit değildir”
End If
End Sub
Örnek 2 – Boş hücreleri kontrol etmek için VBA IF NOT kullanımı
Bu örnek, belirli bir Excel hücresinin (A1 hücresi) boş olup olmadığını belirlemek için VBA IF NOT ifadesinin nasıl kullanılacağını açıklar. Boşsa, uygun mesajı görüntülemek için bir mesaj kutusu kullanılacaktır.

Adım 1: Yeni modülde, “CheckNotEmpty” adlı bir alt rutin tanımlayarak başlıyoruz. Sonra, Excel'deki bir hücreyi temsil etmek için Range türünde bir “myCell” değişkeni bildirilir.
Daha sonra Set anahtar sözcüğünü kullanarak A sütunu, 1. satırda bulunan hücreyi (“A1”)) “myCell” değişkenine atarız.

Adım 2: Bu adımda, “IsEmpty” VBA fonksiyonunu kullanarak “myCell”in boş olup olmadığını kontrol etmek için IF NOT ifadesini uygularız . “Not” anahtar sözcüğü koşulu geçersiz kılar, bu nedenle kod bloğu yalnızca “myCell” boş değilse yürütülür.

Adım 3: “IF NOT” bloğunun içerisinde, koşul doğru olmadığında “Hücre boş değil” mesajını gösteren bir MsgBox ifadesi kullanıyoruz.
End Sub ifadesi altyordamın sonunu işaretler.

Adım 4: Şimdi Çalıştır'a tıklayın. İlk olarak, “myCell” değişkeni tarafından belirtilen ve temsil edilen Excel hücresinin (bu durumda, hücre A1) boş olmadığını doğrular.
Boş değilse “Hücre boş değil” yazılı bir mesaj kutusu açılır.

İşte kodun tamamı:
Sub CheckNotEmpty()
myCell'i As Range
Set myCell = Range(“A1”)
If Not IsEmpty(myCell) Then
MsgBox “Hücre boş değil”
End If
End Sub
Örnek 3 – “IF” ile “NOT” Fonksiyonunun Kullanımı
Bu örnekte, VBA IF NOT'un bir Boole değişkeniyle birlikte kullanımını göreceğiz. Boole değişkeni "condition" (bu durumda "False" olarak başlatılır) doğru değilse, "The condition is not true" (Koşul doğru değil) ifadesini belirten bir mesaj görüntülemek için bir ileti kutusu kullanacağız.
Adım 1: Bu sefer CheckLogicalCondition adında bir alt rutin tanımlıyoruz.
Daha sonra condition adında bir Boolean değişkeni tanımlanır ve bu değişkene False değeri atanır.

Adım 2: Bu adımda, koşul değişkeninin doğru olup olmadığını kontrol etmek için VBA IF NOT ifadesini kullanırız. Koşul başlangıçta False olarak ayarlandığından, kod bloğu yürütülecektir.

Adım 3: “IF NOT” bloğunun içerisinde, koşul karşılanmadığı için “Koşul doğru değil” metnini içeren bir mesaj kutusu gösteriyoruz.

Adım 4: VBA makrosunu kaydedin ve kodu çalıştırın. Çalıştırma sırasında, kod Boolean değişkeni “condition”un doğru olmadığını doğrular (“False” olarak başlatıldığı için) ve “The condition is not true” metninin bulunduğu bir mesaj kutusu çıktısı verir.

Not: Bir Boole değişkeni, programlamada yalnızca iki değeri tutabilen bir değişken türüdür: true veya false, ikili mantığı temsil eder; burada true genellikle "evet" veya "açık" anlamına gelir ve false "hayır" veya "kapalı" anlamına gelir.
İşte kodun tamamı:
Sub CheckLogicalCondition()
Dim condition As Boolean
condition = False
If Not condition Then
MsgBox “Koşul doğru değildir”
End If
End Sub
Dikkat Edilmesi Gereken Önemli Noktalar
- VBA IF NOT, yalnızca Boolean değil, çeşitli veri tipleriyle birlikte, bir koşulun sağlanıp sağlanmadığını kontrol etmek için kullanılabilir.
- VBA IF NOT'u döngüler ve yinelemelerle birleştirerek koşullara bağlı olarak program akışını kontrol edebilirsiniz.
- VBA IF NOT Intersect, iki veri kümesinin veya aralığın örtüşüp örtüşmediğini belirlemek için kullanılır. İki aralığın herhangi bir öğeyi paylaşıp paylaşmadığına göre kodun yürütülmesini düzenlemek için sıklıkla kullanılır.
- VBA IF NOT Null, bir veritabanı alanının veya değişkeninin boş veya başlatılmamış olmadığını doğrulamak için kullanılır. Veritabanı programlamada, verilerin beklendiği ancak mevcut olmayabileceği durumları ele almak için sıklıkla kullanılır.
