VBA: добавление условия в цикл ElseIf

Я хотел бы добавить еще одно условие для этого цикла, которое помещает «несоответствие» в столбец J, если в столбце F есть значение, которое не равно 0 или #VALUE. Будут оценены любые предложения. Спасибо, текущий код ниже:

Sub ERS_Vlookup() Dim Lastrow As Long Dim h As Long For h = 5 To Lastrow If IsError(ActiveSheet.Range("H" & h).Value) Or IsError(ActiveSheet.Range("F" & h).Value) Then ActiveSheet.Range("J" & h).Value = " " ElseIf ActiveSheet.Range("H" & h).Value <> " " And _ ActiveSheet.Range("F" & h).Value = 0 Then ActiveSheet.Range("J" & h).Value = "Paid" Else ActiveSheet.Range("J" & h).Value = "Processed Not Yet Paid" End If Next h 

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

 Sub ERS_Vlookup() Dim Lastrow As Long Dim h As Long For h = 5 To Lastrow If IsError(Range("H" & h).Value) Or IsError(Range("F" & h).Value) Then Range("J" & h).Value = vbNullString ElseIf Range("H" & h).Value <> vbNullString And Range("F" & h).Value = 0 Then Range("J" & h).Value = "Paid" ElseIf Not IsError(Range("F" & h).Value) And Range("F" & h).Value <> 0 Then Range("J" & h).Value = "Discrepancy" Else Range("J" & h).Value = "Processed Not Yet Paid" End If Next h End Sub 

Вы можете использовать функцию And для добавления логических циклов в циклы. Я рекомендую вам посетить этот сайт http://www.excel-easy.com/vba/loop.html для получения дополнительной информации.

  • VBA Loop через строки
  • Версия VBA функции Zip Python (цикл FOR EACH)
  • Прокрутите лист 2 и скопируйте определенные значения в указанные столбцы на листе 1
  • Зацикливание макроса для копирования и вставки затем печати
  • MatLab: динамическая итерация через ячейки с помощью надстройки Excel COM
  • Возникли проблемы с созданием допустимого условия выхода с помощью Excel VBA
  • Перемещение по диапазону и сокрытие столбцов VBA
  • Как заставить VBA выполнять те же действия при изменении критериев, пока не попадет в пустую ячейку?
  • Стоп для цикла перед пустой ячейкой
  • VBA: Вложенный цикл дает мне ошибку: Excel может конвертировать только один столбец за раз
  • Excel VBA - иметь скрипт VBA через строки
  • Interesting Posts

    Как я могу назвать долгосрочную внешнюю программу из Excel / VBA?

    Excel VBA: заменить первую строку массивом

    Импорт данных с одного листа на другой лист, когда ячейка соответствует определенному тексту

    Сохранение файла «.out» в формате Excel

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

    Найти таблицу из данной ячейки excel-vba

    Вычисление недельных средних значений с использованием Excel

    VBA возвращает массив

    Неверная ошибка выбора при попытке экспорта webtable в excel

    Связывание ячеек с текстом, разделенным запятыми

    Как перестроить ошибку в VBA

    Сводная таблица должна отличаться от двух других таблиц

    GetSetting / SaveSetting и права пользователя

    Почему VBA поднимает ошибку «несоответствие типа», когда я использую «Format (string_variable,« ###. # »), А значение string_variable равно 0.0

    Использование условия в помощнике BIDS

    Давайте будем гением компьютера.