VBA Not Equal, True veya False'u döndüren mantıksal bir fonksiyondur. Ayrıca olumsuzlama operatörü olarak da adlandırılır.
Karşılaştırma operatörleri veri analizinin önemli bir parçasıdır ve VBA programlaması da görevleri otomatikleştirmek için her türlü karşılaştırma operatörünü kullanır. Eşit Değil, mantıksal hesaplamalar yapmak için kullanılan bu tür karşılaştırmalardan biridir ve VBA'daki eşit olmayan operatör hakkında bilgi sahibi olmak önemlidir. Genellikle mantıksal test, değerin eşit, büyük veya küçük olup olmadığını içerir. Ancak bazen bazı mantıksal testleri gerçekleştirmek için bir eşitsizlik testi yapmamız gerekir.
Eşitsizlik testi, mantıksal bir test uygulayıp X'in Y'ye eşit olup olmadığını test ettiğimiz veya alternatif bir işlem yaptığımız bir teste eşit değildir.
Bu arada, Eşit Değil testi <> veya >< sembolleri kullanılarak uygulanır.
Bu semboller, büyük (>) ve küçük (<) karşılaştırma operatörlerinin birleşimidir. Bu iki karşılaştırma operatörünü zıt yönlerde girdiğimizde, bu bir eşitsizlik testi haline gelir.
ÖNEMLİ NOKTALAR
- VBA Not Equal, True veya False döndüren mantıksal fonksiyonlardan biridir.
- VBA'da Eşit Değil operatörü eşitsizlik testi için kullanılır.
- Döngüleri kullanarak birden fazla hücre için test uygulayabiliriz.
- Eşit değildir testini uygulayarak bir çalışma sayfası hariç tüm çalışma sayfalarını gizleyebiliriz.
- Eşit Değil karşılaştırması, mantıksal testleri uygulamak için IF koşuluyla birlikte kullanılır.
- Eşit değildir testini uygulayarak bir çalışma sayfası hariç tüm çalışma sayfalarını gösterebiliriz.
VBA'da Eşit Değil Operatörü Nasıl Çalışır?
Eşit Değil operatörü, eşittir (=) operatörünün işlevselliğinin tam tersi şekilde çalışır. Eşit Değil operatörü, mantıksal test uygulanan koşula eşitse TRUE, değilse FALSE döndürecek eşitlik testleri için çalışır.
Örneğin, 100 = 100 mantıksal testini uygularsak , eşit operatörü TRUE döndürür çünkü uygulanan 100 = 100 mantıksal testi doğrudur. Ancak, eşittir işaretini eşit değildir işaretiyle değiştirirsek, FALSE sonucunu alırız.
100 <> 100
Mantıksal test 100 <> 100 eşittir ve eşitsizlik testi (eşit değildir) bunu YANLIŞ mantıksal test olarak bulur ve dolayısıyla sonucu YANLIŞ olarak döndürür.
Basitçe mantıksal testte, Eşit Değil testi ile DOĞRU sonucu alabilmek için bir değerin diğerine eşit olmaması gerekir.
Bu uygulamayı test etmek için aşağıdaki VBA koduna sahibiz.

Bölüm 1 – Öncelikle “k” değişkenini tanımladık ve ona Integer veri türünü atadık.
Bölüm 2 – Şimdi “k” değişkenine 10 değerini atadık.
Bölüm 3 – Daha sonra mesaj kutusunda 5 değerine eşit olmayan “k” değişkeninin eşitsizlik testini uyguladık.
Şimdi bu kodu çalıştıralım ve mesaj kutusunda nasıl bir sonuç aldığımıza bakalım.

Eşitsizlik testinin sonucunun DOĞRU olduğunu açıkça görebiliyoruz.
“k” değişkeninin değeri 10 ve “k” değişkeninin değerinin 5 sayısına eşit olup olmadığını test ediyoruz. Mantıksal test 10 <> 5 doğrudur, dolayısıyla sonucu DOĞRU olarak alıyoruz.
Benzer şekilde şimdi kod içerisinde değişken “k” değerini 10 olarak değiştirelim.

Önceki koddan sadece “k” değişkeninin değerini değiştirdik (sarı ile işaretli).
Şimdi kodu çalıştıralım ve mesaj kutusunda nasıl bir sonuç aldığımıza bakalım.

Bu sefer sonuç FALSE oldu çünkü değişken “k” değeri 5 ve mantıksal test değeri de 5. Her iki değer de eşit olduğundan eşitsizlik testi başarısız oluyor ve sonuç FALSE olarak dönüyor.
Örnekler
Örnek 1 – Test Hücresi Değerlerine Eşit Değil Uygula
VBA Eşit Değil (< >) işareti hücre değerlerini test etmek ve iki hücrenin değerlerine göre sonuca ulaşmak için kullanılır.
Örneğin Excel'deki aşağıdaki verilere bakalım.

Burada, sırasıyla A2 ve B2 hücrelerinde iki şehir adı var. Şimdi, aşağıdaki kodu kullanarak Not Equal To testini uygulayalım .

Şimdi kodu 5 parçaya böldük. Şimdi daha iyi anlaşılması için kodu parça parça açıklayalım.
Bölüm 1 – Öncelikle City1 ve City2 olmak üzere iki değişkeni sırasıyla iki şehir değerine tanımladık.
Dim City1 As String
Dim City2 As String
Bölüm 2 – Sonra, City1 değişkeni için hücre A2 değerini, yani Şehir adı “Bangalore” olarak atıyoruz. City2 değişkeni için hücre B2 değerini, yani Şehir adı “Mumbai” olarak atıyoruz.
City1 = Range(“A2”).Value
City2 = Range(“B2”).Value
Bölüm 3 – Daha sonra Not Equal To testinin sonucunu saklamak için başka bir değişken tanımladık.
Dim NotEqualTest'i As Boolean
Bölüm 4 – Kodun 3. bölümünde tanımlanan değişkeni kullanarak City1 ve City2 için Not Equal To testini uyguluyoruz. Şimdi, bu değişkene TRUE veya FALSE sonucunu döndürecektir.
NotEqualTest = City1 <> City2
Bölüm 5 – Şimdi, Eşit Değil test değişkeninin değerini gösteriyoruz.
MsgBox NotEqualTest
Şimdi kodu çalıştıralım ve ne olacağını görelim.

Açıkça, sonucun TRUE olduğunu görebiliriz çünkü City1 ve City2 değerleri farklıdır dolayısıyla her iki şehir birbirine eşit değildir. Dolayısıyla, Not Equal To testi sonucu TRUE olarak döndürür.
Örnek 2 – Test'e Eşit Değil'i Hücrede Sakla
Hücre değerlerini eşit değil mantıksal testini uygulayarak test etmek güzeldir, ancak mantıksal test işleminden faydalanmak ve Excel çalışma sayfasında bazı işlemler yapmak önemlidir.
Önceki örnekten devam edersek ve aynı verilerle “Şehir1 I Different Than City2” is Not Equal To test sonucuna ulaşmamız gerekiyor. Aksi takdirde durum sütununda “Şehir1 ve Şehir2 aynı” sonucuna ulaşmamız gerekiyor.

Şimdi, mantıksal teste dayalı sonuçlara ulaşmak için, mantıksal test formülü IF koşulunu kullanmamız gerekir. Aşağıdaki kod, IF koşulunu Not Equal To testiyle birlikte kullanır ve sonucu durum sütununda alır.

Bu arada, 1 ve 2 numaralı parçaların önceki koda kıyasla aynı kaldığını görebiliriz. 3 ila 5 numaralı parçaları kaldırarak, IF mantıksal koşulunu kullanarak yeni bir 3 numaralı parça ekledik.
Bölüm 3 – Şimdi, IF mantıksal koşulunu Şehir1 < > Şehir2'yi uyguladık, eğer bu Eşit Değil testi DOĞRU ise o zaman C2 hücresine "Şehir 1, Şehir2'den farklıdır" değerini girmemiz gerekir.
Eşit Değil testi YANLIŞ ise, C2 hücresine “Şehir1, Şehir2 ile aynıdır” değerini girmemiz gerekir.
Bu kodu çalıştırdığımızda durum sütununun C2 hücresindeki değeri aşağıdaki gibi alacağız.

“Şehir1, Şehir2'den farklıdır” sonucunu elde ettik çünkü Eşit Değil testi DOĞRU'dur.
Örnek 3 – Birden Fazla Hücrede Döngü Oluşturun ve Eşit Değil Operatörünü Uygulayın
Aynı Eşit Değil işlemlerini gerçekleştirmemiz gerektiğinde, uzun kodlardan kaçınmak için döngüler kullanmamız gerekir. Örneğin, Excel'deki aşağıdaki verilere bakın.

Bu, A, B ve C sütunlarında sırasıyla piyango bileti numarası ve kazanan numara ile birlikte piyango bileti satın alan kişilerin verileridir. Şimdi, D sütununda, piyango biletini kimin kazandığını bulmamız gerekiyor.
Kazananı bulmak için mantıksal testi uygulamamız gerekir. Piyango Numarası <> Kazanan Numara. Piyango numarası kazanan numaraya eşitse, o zaman kazananlardır. Bu arada, piyango numarası kazanan numaraya eşit değilse, o zaman kaybedenlerdir.
Aşağıdaki kod tüm hücreleri dolaşacak ve piyango biletinin kazananını bulacaktır.
Alt Örnek3_Eşit_Olmaz_Test()
Dim k As Long
Dim LR As Long
'Son kullanılan satırı bul
LR = Cells(Rows.Count, 1).End(xlUp).Row
For k = 2 To LR
If Cells(k, 2).Value <> Cells(k, 3).Value Then
Cells(k, 4).Value = “Oops!!! Bir Dahaki Sefere Bol Şans!!!”
Else
Cells(k, 4).Value = “Piyangoyu Kazandığınız İçin Tebrikler”
End If
Next k
End Sub
Yukarıdaki kod, B sütunundaki (tüm hücreler) piyango numarasını C sütunundaki (tüm hücreler) kazanan piyango numarasıyla karşılaştıracak ve piyango numarası kazanan piyango numarasına eşit değilse "Oops!!! Bir Dahaki Sefere Daha İyi Şanslar!!!" değerini döndürecektir. Aksi takdirde, "Piyangoyu Kazandığınız İçin Tebrikler" sonucunu döndürecektir.

Piyangonun kazananı A5 hücresindeki "Tim"dir çünkü Eşit Değil testi başarısız olmuştur çünkü piyango numarası ve kazanan piyango numarası aynıdır. Yani, o kazanandır.
Örnek 4 – Sayfaları Gizle ve Göster
Çalışma Sayfasını Bir Kişi Hariç Gizle – Çalışma sayfası adı bir şeye eşit değilse çalışma sayfalarını gizlememiz gereken bir durum olabilir. Örneğin, aşağıdaki kod çalışma sayfası adı “Satışlar”a eşit değilse tüm çalışma sayfalarını gizleyecektir.
Sub Example4_Not_Equal_Test()
Dim Ws As Worksheet
For Each Ws In ActiveWorkbook.Worksheets
If Ws.Name <> “Sales” Then
Ws.Visible = xlSheetVeryHidden
End If
Next Ws
End Sub
Yukarıdaki kod “Satışlar” isimli çalışma sayfası haricindeki tüm çalışma sayfalarını gizleyecektir.
Bir Çalışma Sayfası Hariç Gizlemeyi Kaldır – Yukarıdaki yöntemin tam tersini yapmamız gerekebilir. Bir çalışma sayfası hariç tüm çalışma sayfalarını gizlemeyi kaldırmamız gerekebilir.
Aşağıdaki kod, “Sheet2” adlı çalışma sayfası hariç tüm çalışma sayfalarını gösterecektir.
Sub Example5_Not_Equal_Test()
Dim Ws As Worksheet
For Each Ws In ActiveWorkbook.Worksheets
Eğer Ws.Name <> “Sheet2” ise
Ws.Visible = xlSheetVisible
End If
Next Ws
End Sub
Çalışma sayfalarından bazıları gizlendiğinde, yukarıdaki kodu kullanarak Sheet2 hariç tümünü gösterebiliriz .
Benzer şekilde mantıksal testte Not Equal To işaretinden sonra sayfa adını değiştirebiliriz.
Dikkat Edilmesi Gereken Önemli Noktalar
- Büyüktür (>) ve küçüktür (<) işaretlerini zıt yönlerde kullandığımızda Eşit Değil karşılaştırma sembolüne dönüşür.
- Unutmayın, eşit değil işaretini araya boşluk karakteri koymadan girmemiz gerekiyor.
- Ayrıca, Eşit Değil karşılaştırma operatörü her zaman sonuç olarak Boolean değerini döndürür, yani TRUE veya FALSE.
- Bu arada, Boolean değerlerinde TRUE 1 olarak, FALSE ise 0 olarak değerlendirilir.
