HA NEM a VBA-ban
A logikai függvények hasznosak azokhoz a számításokhoz, amelyek teszteléséhez több feltétel vagy kritérium szükséges. Korábbi cikkeinkben láthattuk a „VBA IF”, a „VBA OR” és a „VBA AND” feltételeket. Ebben a cikkben a „VBA HA NEM” funkciót tárgyaljuk. Mielőtt bemutatnám a VBA IF NOT funkciót, hadd mutassam meg először a VBA NOT funkciót.
Mi NEM működik a VBA-ban?
A „NOT” az egyik logikai függvény, amely az excel és a VBA esetében van. Minden logikai függvényhez logikai tesztek szükségesek, és az IGAZ értéket adják vissza, ha a logikai teszt helyes. Ha a logikai teszt nem megfelelő, akkor ennek eredményeként HAMIS lesz.
De a „VBA NOT” teljesen ellentétes a másik logikai funkcióval. Azt mondanám, hogy ez a logikai függvények inverz függvénye.
A „VBA NOT” függvény a „FALSE” értéket adja vissza, ha a logikai teszt helyes, és ha a logikai teszt nem megfelelő, akkor az „IGAZ” értéket adja vissza. Most nézze meg a „VBA NOT” funkció szintaxisát.
NEM (logikai teszt)Ez nagyon egyszerű, meg kell adnunk a logikai tesztet. A NOT funkció kiértékeli a tesztet és visszaadja az eredményt.

Példák a NOT & IF funkcióra a VBA-ban?
Az alábbiakban bemutatjuk az IF és a NOT függvény használatának példáját az excel VBA-ban.
1. példa
Vessen egy példát az alábbi kódra.
Kód:
Sub NOT_Példa () Dim k As String k = Not (100 = 100) MsgBox k End Sub
A fenti kódban a változót String néven deklaráltam.
Dim k mint húr
Ekkor ehhez a változóhoz a NOT függvényt a logikai teszttel rendeltem 100 = 100-nak.
k = nem (100 = 100)
Aztán megírtam a kódot, hogy az eredmény megjelenjen a VBA üzenetmezőben. MsgBox k
Most végrehajtom a kódot, és megnézem az eredményt.

Az eredményt „FALSE” -ként kaptuk.
Most nézzen vissza a logikai tesztre. 100 = 100 logikai tesztet adtunk meg, ami általában IGAZ, mivel a NOT függvényt megadtuk, az eredményt FALSE-ként kaptuk. Mint mondtam, az elején fordított eredményeket ad más logikai funkciókhoz képest. Mivel a 100 egyenlő 100-val, az eredményt HAMISként adta vissza.
2. példa
Most. Még egy példát keresünk, különböző számokkal.
Kód:
Sub NOT_Példa () Dim k As String k = Not (85 = 148) MsgBox k End Sub
A kód ugyanaz, amit itt megváltoztattam, hogy megváltoztattam a logikai tesztet 100 = 100-ról 85 = 148-ra.
Most futtatom a kódot, és megnézem, mi az eredmény.

Ezúttal IGAZként kaptuk meg az eredményt. Most vizsgálja meg a logikai tesztet.
k = nem (85 = 148)
Mindannyian tudjuk, hogy a 85 nem egyenlő a 148. számmal. Mivel nem egyenlő, a NOT függvény IGAZként adta vissza az eredményt.
NEM IF feltétel esetén:
Az Excel vagy a VBA esetében a logikai feltételek nem teljesek a kombinált IF feltétel nélkül. Az IF használatával excel állapotban az alapértelmezett IGAZ vagy HAMIS mellett még sok mindent megtehetünk. Például a fenti példákban a FALSE & TRUE; ehelyett a saját szavainkkal módosíthatjuk az eredményt.
Nézze meg az alábbi kódot.
Kód:
NEM__példa2 () Dimenziószám1 Karaktersorozatként Dimenziószám2 Karaktersorozatszámként1 = 100 Szám2 = 100 Ha nem (Szám1 = Szám2), akkor az MsgBox "1. szám nem egyenlő a 2. számmal" Egyéb MsgBox "1. szám egyenlő a 2. szám" Vége ha " End Sub
Két változót deklaráltam.
Dim Number1 mint karakterlánc és Dim Number2 mint karakterlánc
Ehhez a két változóhoz a számokat 100-nak, illetve 100-nak rendeltem.
Szám1 = 100 és Szám2 = 100
Ezután a NOT funkcióhoz csatoltam az IF feltételt az alapértelmezett IGAZ vagy HAMIS megváltoztatásához. Ha a NOT függvény eredménye IGAZ, akkor az eredményem a következő lesz.
MsgBox „Az 1. szám nem egyenlő a 2. számmal.”
Ha a NOT függvény eredménye HAMIS, akkor az eredményem a következő.
MsgBox „Az 1. szám egyenlő a 2. számmal.”
Most futtatom a kódot, és meglátom, mi történik.

Az eredményt úgy kaptuk, hogy „Az 1. szám egyenlő a 2. számmal”, tehát a NOT függvény a FALSE eredményt visszaküldte az IF feltételhez, így az IF feltétel ezt az eredményt adta vissza.
Így használhatjuk az IF feltételt inverz teszt elvégzésére.