Excel VBA для сравнения строки одного столбца со строкой второго столбца - PullRequest
0 голосов
/ 01 мая 2018

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

Я провел некоторое исследование и нашел формулу Excel (= IF (ISNA (MATCH (LEFT (A2,4) & "*", B2: B2,0)), "No Match", "Match"), которая работает но я не уверен, как преобразовать это в VBA. Электронные таблицы, с которыми я работаю, могут различаться по длине строки изо дня в день, но они всегда будут иметь одинаковое количество столбцов. Поэтому я должен иметь возможность: сравнить столбец C в столбец F и запишите результат совпадения / отсутствия совпадения в столбец G независимо от количества строк в электронной таблице.

Вот пример таблицы, с которой я работаю, которая показывает результат использования формулы Excel.

Буду признателен за любую помощь / предложения, которые вы можете предоставить.

![enter image description here] 1

1 Ответ

0 голосов
/ 01 мая 2018

Вы можете использовать упрощенную формулу и при необходимости преобразовать ее в значения (работает для активного листа).

Sub CompareLeft()
  Dim LRow As Long
  LRow = Cells(Rows.Count, "A").End(xlUp).Row
  With Range("c2:c" & LRow)  '<-- Adjust result column
    .FormulaR1C1 = "=IF(LEFT(RC1,4)=LEFT(RC2,4),""Match"",""No Match"")"
    .Value = .Value '<-- Optional - convert formula to values
  End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...