Excel VBA не функционира
Логическите функции са полезни за изчисленията, които изискват множество условия или критерии за тестване. В нашите по-ранни статии видяхме условията „VBA IF“, „VBA OR“ и „VBA AND“. В тази статия ще обсъдим “VBA NOT” с функцията IF в Excel. За да го разберем първо, трябва да разгледаме функцията „VBA NOT“.

Примери
Пример # 1
Функцията NOT се предлага и с VBA и работи точно по същия начин като функцията на Excel. Например, погледнете по-долу набора от VBA код.
Код:
Sub NOT_Example1 () Dim k As String k = Not (45 = 45) MsgBox k End Sub

В горния код декларирахме променливата „k“ като низ.
Dim k As String
След това сме присвоили стойността чрез функцията NOT. Функцията NOT казва дали числото 45 е равно на 45 или не?
k = не (45 = 45)
След това сме присвоили връщането на стойността от функцията NOT на променливата „k“ в полето за съобщения.
MsgBox k
Изпълнете кода и вижте какъв е резултатът.

Пример # 2 - НЕ с функция IF
Както казах в една от по-ранните статии, „АКО с други логически функции са най-добрите двойки в Excel.“
По същия начин NOT с IF е полезен в много отношения. С IF можем да имаме свои собствени резултати вместо резултатите по подразбиране TRUE или FALSE.
Вземете същия примерен код отгоре и ние ще приложим НЕ с функцията IF.
Код:
Sub NOT_Example2 () Dim k As String If Not (45 = 45) Тогава k = "Тестовият резултат е ИСТИНЕН" В противен случай k = "Тестовият резултат е FALSE" End If MsgBox k End Sub

В горния код сме променили резултатите по подразбиране от „ Резултатът от теста е FALSE“ и „Резултатът от теста е TRUE“. Ако предоставеният логически тест е истина, той ще върне „Резултатът от теста е FALSE“, а ако предоставеният логически тест е false, той ще се върне. „Резултатът от теста е ИСТИНСКИ.“
В горния код имаме стойност като 45 = 45, така че ще получим отговора, както следва.

Пример # 3 - Разширено НЕ
Функцията NOT се използва най-добре с функцията IF. Можем да използваме тази функция, за да скрием всички листове с изключение на един конкретен лист.
Имаме различни листове, както следва в нашия Excel.

По-долу е примерен код за скриване на всички листове с изключение на един конкретен лист.
Код:
Sub NOT_Example3 () Dim Ws As Workheet за всеки Ws в ActiveWorkbook. Работни листове, ако не (Ws.Name = "Data Sheet") Тогава Ws.Visible = xlSheetVeryHideen End, ако Next Ws End Sub

Горният код скрива всички работни листове с изключение на работния лист „Лист с данни“.

Можете да използвате този VBA код, за да скриете всички листове, с изключение на един конкретен лист, като промените името на листа на името на вашия лист.
Като как можем да покажем и листове в Excel. Кодът по-долу ще покаже всички листове, с изключение на името на листа „Лист с данни“.
Код:
Sub NOT_Example4 () Dim Ws As Workheet за всеки Ws в ActiveWorkbook. Работни листове, ако не (Ws.Name = "Data Sheet") Тогава Ws.Visible = xlSheetVisible End If Next Ws End Sub

Кодът по-долу ще покаже само името на листа „Лист с данни“.
Код:
Sub NOT_Example3 () Dim Ws As Workheet за всеки Ws в ActiveWorkbook. Работни листове, ако не (Ws.Name "Data Sheet") Тогава Ws.Visible = xlSheetVisible End If Next Ws End Sub
