Контрольный вопрос от:
VBA - поиск соответствия с несколькими параметрами
Приведенный ниже код работает хорошо, но с тех пор я понял, что значения в столбце Aиногда содержит префикс, который поэтому ничего не возвращает.
Надеясь, что кто-то может отредактировать фактическую формулу, чтобы учесть двухбуквенный префикс перед числом.
Код:
Sub PlaceFormula()
Dim ws As Worksheet
Dim lr As Long
Dim lc As Long
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
Set ws = Sheets("Main")
lr = ws.Cells(Rows.Count, 1).End(xlUp).Row
lc = ws.Cells(1, Columns.Count).End(xlToLeft).Column
ws.Range("B2", ws.Cells(lr, lc)).Formula = "=IF(ISNUMBER(MATCH($A2&B$1,INDEX(tStatus[[Employee Number]:[Employee Number]]&tStatus[[Wk Number]:[Wk Number]],),0)),""Match"","""")"
ws.Range("B2", ws.Cells(lr, lc)).Value = ws.Range("B2", ws.Cells(lr, lc)).Value
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
Образец данных в столбце A:
12345
24681
78956
AB12345
A78956
Данные в таблице также будут содержать префикс, ЕСЛИ значение есть. Таким образом, по сути, MATCH ищет точное совпадение.
Ссылка наПример файла:
https://drive.google.com/file/d/1Uoa0Yn72nSckQaBnl6Y-a2q6UMJX6H3f/view?usp=sharing