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 feltétel 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. Az összes 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 a FALSE értéket adja eredményül.
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 a „TRUE” é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.
Itt letöltheti ezt a VBA IF NEM Excel sablont - VBA HA NEM Excel sablont
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-hoz = 100.
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” néven kaptuk.
Most nézzen vissza a logikai tesztre. Megadtuk a logikai tesztet 100 = 100 értékkel, ami általában IGAZ, mivel a NOT függvényt megadtuk, így az eredmény HAMIS volt. Mint mondtam, az elején fordított eredményeket ad más logikai funkciókhoz képest. Mivel 100 egyenlő 100-val, az eredményt HAMISként adta vissza.
2. példa
Most nézzen meg még egy példát 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 sokkal több dolgot tehetünk az alapértelmezett IGAZ vagy HAMIS mellett. Például a fenti példákban a FALSE & TRUE alapértelmezett eredményeit kaptuk, ahelyett, hogy a saját szavainkkal módosíthatnánk 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 " Vége al
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 és 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 IF feltételre, így az IF feltétel ezt az eredményt adta vissza.
Így használhatjuk az IF feltételt az inverz teszt elvégzésére.