Vba excel не равно

Обновлено: 21.11.2024

Двоичный оператор VBA Not Equal («<>») — это логическая функция, которая используется для проверки того, не равны ли указанные значения. Этот оператор сравнивает операнд на наличие строгого неравенства, а тип результата — Bool. Если оба операнда не равны, возвращается логическое значение True (числовое значение 1), в противном случае, если оба операнда равны, возвращается логическое значение False (числовое значение 0). Он также известен как оператор отрицания. Он работает в противоположность логическому оператору Equal «=». Оператор равенства логическое значение True, если указанные значения совпадают, в противном случае для неравных значений возвращается значение False. Таким образом, для оператора «Равно» наоборот.

Операция Not Equal имеет более низкий приоритет по сравнению с другими операторами отношения. Этот оператор полезен при проведении проверки неравенства.

Обычно оператор сравнения Not Equal можно выразить двумя способами: «<>» и «!=». Оба оператора выполняют сравнение Not Equal и возвращают один и тот же результат на разных языках программирования. Но для VBA для проверки сравнения Not Equal допустим только оператор «<>». Если пользователь попытается использовать «!=», это вызовет синтаксическую ошибку. Причина в том, что оператор «<>» работает в соответствии со стандартами ISO и соблюдает все его правила, тогда как оператор «!=» не работает со стандартами ISO. Ниже приведен код VBA вместе с выводом, объясняющим работу обоих операторов:

Код:

Вывод

Код:

Вывод

Синтаксис

Где выражение представляет операнды.

Пример 1. Напишите программу VBA, чтобы продемонстрировать пример в реальном времени для оператора not equal.

Ниже приведен лист Excel, где у нас есть три столбца: имя владельца лотереи, номер лотерейного билета и номер счастливого розыгрыша. В четвертом столбце мы сопоставим оба значения, если они не равны, тогда отображаемое сообщение должно быть «Упс! Удачи в следующий раз!", иначе для того же числа отобразится сообщение о победе, в котором говорится: "Удачный розыгрыш!! Вы выиграли джекпот".

Давайте проанализируем пошаговый процесс решения вышеуказанной программы:

Шаг 1. Откройте вкладку разработчика VBA либо с помощью сочетания клавиш Alt + F11, либо щелкните окно разработчика -> редактор Visual Basic.

Шаг 2. Откроется редактор Visual Basic. Следующим шагом будет создание модуля. Щелкните правой кнопкой мыши проект VBA-> нажмите «Вставить»-> нажмите «Модуль».

Шаг 3. В окне модуля VBA напишите следующий код

  • Введите подкатегорию, следующую за именем вашего макроса, в отличие от приведенного ниже кода, который мы написали «VBANotEqualOperator_Example1».
  • Объявите свою переменную с целочисленным типом данных
  • Определите цикл for-next, в котором цикл будет начинаться с n=2 и заканчиваться на 9.
  • В цикле for напишите логику, используя условие if else, чтобы проверить, не равны ли значения для столбцов 2 и 3.
  • Если они не равны, то в четвертом столбце выведите сообщение «УПА! Повезет в следующий раз!" в противном случае для равных значений в ячейке должно отображаться «Удачный розыгрыш!! Вы выиграли джекпот».
  • Отображение значения переменной с помощью MsgBox.

Код:

Вывод

Скрыть листы с помощью оператора Not Equal

Свойство скрытия и отображения используется во многих событиях. Оператор Not equal немного упрощает это действие. Он скроет все листы, присутствующие в активной книге, за исключением одного.

Скрыть

Давайте проанализируем пошаговый процесс решения вышеуказанной программы:

Шаг 1. Откройте вкладку разработчика VBA либо с помощью сочетания клавиш Alt + F11, либо щелкните окно разработчика -> редактор Visual Basic.

Шаг 2. Откроется редактор Visual Basic. Следующим шагом будет создание модуля. Щелкните правой кнопкой мыши проект VBA-> нажмите «Вставить»-> нажмите «Модуль».

Шаг 3. В окне модуля VBA напишите следующий код

  • Введите подкатегорию, следующую за именем вашего макроса, в отличие от приведенного ниже кода, который мы написали «NotEquallOperator_HideExample».
  • Объявите свою переменную с типом данных объекта рабочего листа
  • Определите цикл for-next, в котором диапазон цикла будет начинаться с первого рабочего листа и заканчиваться последним рабочим листом в активной книге.
  • В блоке цикла «Для каждого следующего» мы будем использовать условие «Если», указывающее, что если имя рабочего листа не равно «Лист2», видимость листа будет скрыта. Чтобы включить это, мы будем использовать метод xlSheetVeryHidden.

Код:

Вывод

Шаг 4. Выполните указанный выше код, нажав клавишу быстрого доступа F5 или нажав кнопку "Выполнить".

Шаг 5. Вы заметите, что все листы, кроме листа2, скрыты. Ниже приведен результат, в котором мы отобразили результат до и после.

Перед тем, как скрыть код

После скрытия

Показать

В окне модуля VBA напишите следующий код

  • Введите подкатегорию, следующую за именем вашего макроса, в отличие от приведенного ниже кода, который мы написали «NotEquallOperator_HideExample».
  • Объявите свою переменную с типом данных объекта рабочего листа
  • Определите цикл for-next, в котором диапазон цикла будет начинаться с первого рабочего листа и заканчиваться последним рабочим листом в активной книге.
  • В блоке цикла «Для каждого следующего» мы будем использовать условие «Если», указывающее, что если имя рабочего листа не равно «Лист2», видимость листа будет скрыта. Чтобы включить это, мы будем использовать метод xlSheetVeryHidden.

Код:

Вывод

Выполните приведенный выше код, нажав клавишу быстрого доступа F5 или нажав кнопку "Выполнить".

Not Equal — это оператор в VBA, который также можно назвать оператором отрицания. Это логическая функция, поэтому вывод, возвращаемый этой функцией, либо истинен, либо неверен, мы знаем, что оператор равенства равен «=». это, но не равно, является «<>» в VBA, поэтому любое значение, которое мы получаем от оператора равенства, мы получим прямо противоположное значение, используя оператор Not Equal.

Оператор «не равно» в VBA

Обычно мы проводим логический тест «равно ли что-то другим вещам или нет». В некоторых случаях нам также необходимо провести тест на «неравенство». Тест на неравенство есть не что иное, как тест на равенство. Обычно мы говорим, если что-то равно другому или нет, если оно равно, выполняет какую-то задачу, если не другую задачу. Точно так же, используя тест неравенства, мы также можем выполнить какую-то операцию. «НЕ РАВНО» в VBA представлено комбинацией символов «больше» и «меньше». Если оба этих оператора объединяются, то это становится не равным символом, т.е. «<>».

Как Not Equal работает в Excel VBA?

VBA Not equal работает прямо противоположно логике оператора равенства. Оператор равенства возвращает ИСТИНА, если предоставленный тест не выполняется, он вернет ЛОЖЬ. Например, если вы скажете 10 = 10, будет возвращено ИСТИНА или ЛОЖЬ.

Например, если вы скажете 10 <> 10, будет возвращено ЛОЖЬ, поскольку 10 равно 10. Чтобы получить результат ИСТИНА, одно значение не должно быть равно другому.

Примеры не равно в Excel VBA

Ниже приведены примеры оператора not equal to в Excel VBA.

Теперь мы увидим, как практически использовать знак VBA Not Equal (<>). Посмотрите на приведенный ниже фрагмент кода.

Код:

Здесь мы проверяем, не равно ли число 100 числу 100. Мы точно знаем, что число 100 равно 100, поэтому результат будет ЛОЖЬ.

Теперь я изменю уравнение.

Код:

Теперь проверьте, не равно ли число 100 99. Таким образом, результат будет ИСТИНА.

Теперь мы увидим, как использовать этот оператор не равно на примерах в реальном времени. Для демонстрации я создал некоторые данные.

У нас есть два значения: "Значение 1" и "Значение 2".

Теперь мое требование состоит в том, что если значение 1 не равно значению 2, то мне нужен результат как "другой", иначе мне нужен результат как "такой же".

Шаг 1. Определите переменную как целое число.

Код:

Шаг 2. Откройте FOR NEXT LOOP со 2 по 9.

Код:

Шаг 3. Внутри цикла нам нужно проверить, не равно ли значение 1 значению 2. Поскольку нам нужны собственные результаты, нам нужно использовать условие IF.

Код:

Предположим, условие проверяет, не равно ли значение 1 значению 2 или нет. Если не равно, будет возвращено «Разное». Если равно, возвращается «Same».

Скопируйте этот код в свой модуль и запустите с помощью клавиши F5 или вручную. Это вернет такой результат.

Скрыть и показать листы со знаком не равно

Различные способы использования not equal sing огромны. Мы можем использовать этот знак для удовлетворения наших потребностей.

Мы видели такую ​​ситуацию много раз. Нам нужно было скрыть все листы, кроме конкретного листа.

Например, если вы хотите скрыть все листы, кроме имени листа "Данные клиента", вы можете использовать этот код.

Код:

Аналогичным образом мы также можем отобразить все листы, кроме одного листа. Для этого используйте приведенный ниже код.

Код:

Вы можете скачать этот шаблон VBA Not Equal to Excel здесь — Шаблон оператора VBA Not Equal.

Рекомендуемые статьи

Это руководство по VBA, Not Equal. Здесь мы рассмотрим, как использовать логический оператор «Не равно» в VBA вместе с практическими примерами и загружаемыми таблицами Excel. Ниже приведены некоторые полезные статьи по VBA, связанные с:

В следующей таблице содержится список операторов сравнения и условий, определяющих, является ли result значением True, False или Null.

Оператор Истинно, если False if Null if
(Меньше чем) выражение1 = выражение2< /td> выражение1 или выражение2 = Null
(Меньше или равно) выражение1 выражение2< /td> выражение1 или выражение2 = Null
> (больше) выражение1 > выражение2 expression1 >= (больше или равно) < em>выражение1 >= выражение2 выражение1 = (равно) выражение1 = выражение2 выражение1 <> выражение2 выражение1 или выражение2 = Null
<> (не равно) выражение1 <> выражение2 выражение1 = выражение2 выражение1 или выражение2< /em> = Null

Операторы Is и Like имеют специальные функции сравнения, которые отличаются от операторов в таблице.

При сравнении двух выражений может быть непросто определить, сравниваются ли выражения как числа или как строки. В следующей таблице показано, как сравниваются выражения или результат, когда какое-либо из выражений не является вариантом.

< /th> < td style="text-align: left;">Одно выражение представляет собой числовой тип данных, а другое — строковый вариант, который нельзя преобразовать в число< td style="text-align: left;">Одно выражение пусто, а другое — строка
Если Тогда
Оба выражения являются числовыми типами данных (Byte, Boolean, Integer, Long, Single, Double, Date, Currency или Decimal) Выполнить числовое сравнение.
Оба выражения являются строками Выполнить сравнение строк.
Одно выражение представляет собой числовые данные type, а другой — Variant, который является или может быть числом Выполнить числовое сравнение.
Происходит ошибка несоответствия типов.
Одно выражение является строкой, а другое - любым вариантом, кроме Nu ll Выполнить сравнение строк.
Одно выражение Empty, а другой — числового типа данных Выполните числовое сравнение, используя 0 в качестве выражения Empty.
Выполните сравнение строк, используя строку нулевой длины ("") как пустое выражение.

Если выражение1 и выражение2 являются выражениями Variant, их базовый тип определяет, как они сравниваются. В следующей таблице показано, как сравниваются выражения или результат сравнения, в зависимости от базового типа Variant.

< /th>
Если Тогда
Оба выражения Variant являются числовыми Выполнить числовое сравнение.< /td>
Оба выражения Variant являются строками Выполнить сравнение строк.
Одно выражение Variant является числовым, а другое — строковым Числовое выражение меньше, чем строковое выражение.
Одно выражение Variant пустое, а другое числовое Выполните числовое сравнение, используя 0 в качестве пустого выражения.
Один Вариантное выражение пусто, а другое — строка Выполните сравнение строк, используя строку нулевой длины ("") в качестве e Пустое выражение.
Оба выражения Variant пусты Выражения равны.

Когда Single сравнивается с Double, Double округляется до точности Single. Если Валюта сравнивается с Одинарным или Двойным, Одинарное или Двойное преобразуется в Валюту.

Аналогично, когда Decimal сравнивается с Single или Double, Single или Double преобразуются в Decimal. Для валюты любое дробное значение меньше 0,0001 может быть потеряно; для Decimal любое дробное значение меньше 1E-28 может быть потеряно или может возникнуть ошибка переполнения. Такая потеря дробного значения может привести к тому, что два значения будут сравниваться как равные, когда это не так.

Пример

В этом примере показаны различные варианты использования операторов сравнения, которые вы используете для сравнения выражений.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы об Office VBA или этой документации? См. раздел Поддержка и отзывы об Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.

Сравнение значений на равенство — это обычная функция при работе с рабочими листами. В этом руководстве мы рассмотрим базовое использование VBA Excel not equal.

VBA Excel не равно

Это оператор в VBA, который также называется оператором отрицания. Оператор выглядит так (). Если два значения не равны, он вернет true, а если два значения не равны, он вернет false. От знака равенства (=) получаем прямо противоположный ответ.

С оператором равенства '=', если у нас есть 25 = 25, он вернет true.

Однако для Not Equal, например, 25 25, будет возвращено значение false.

Пример использования Not Equal в VBA

Например:

В приведенном выше коде мы пытаемся проверить, не равно ли 25 25.

Давайте посмотрим результат в окне сообщения ниже:

В результате мы получаем False, потому что 25 не равно 25.

Другой пример:

Давайте изменим сравнение:

Приведенный выше код дает нам True в окне сообщения, потому что 25 не равно 75.

Не равно строкам и столбцам

  • Размер i как целое число — в этой части мы установили целое число как i.
  • Для i = от 2 до 9 — это относится к диапазону ячеек, над которым мы работаем.
  • If Cells(i, 1) Cells(i, 2) Then — это укажет VBA, что мы используем метод if. И мы используем синтаксис для равенства или не равно.
  • Cells(i, 3).Value = "Different"
    Else
    Cells(i, 3).Value = "Same"
    End If - определяет диапазон ячеек, который мы над чем работать, и значения, которые нужно записать в столбец 3, если значения различны или одинаковы.

А теперь посмотрите на результат ниже:

Что касается результата, вы можете увидеть в столбце C, в нем указано, совпадают ли числа в двух диапазонах или нет.

Скрытие рабочего листа с помощью знака не равенства

Ниже показан пример активной книги с тремя открытыми листами.

Посмотрите приведенный ниже код, который может скрыть ненужные рабочие листы и оставить тот, над которым мы хотели работать.

  • Затемнить AB как рабочий лист — мы установили AB как целое число нашей рабочей книги.
  • Для каждого AB In ThisWorkbook.Worksheets — это определяет, что нам нужно работать с этой книгой и рабочими листами.
  • If AB.Name "Example2" Then
    AB.Visible = xlSheetVeryHidden
    End If - это даст указание VBA скрыть рабочие листы, кроме Example2. Это также означает, что мы используем метод if.

И результатом будет:

Отображение листов с использованием знака не равенства

Приведенный выше код отобразит и покажет все скрытые рабочие листы в книге.

См. результат ниже:

Заключение

Сначала оператор Not Equals может показаться немного запутанным, но его легко представить как противоположность оператора равенства. Мы показали пару примеров его использования, в том числе тот, в котором мы отобразили все рабочие листы, имя которых не равно «Примеру 2». У этого оператора множество вариантов использования, так что это отличный инструмент, который нужно иметь в своем наборе инструментов.

Читайте также: