DocNm(i, 1).Offset(0, 1).Value = "Match"
не имеет значения для массива. Массив не имеет свойства Offset
.
Если ваш пример листа действителен с точки зрения размера диапазонов, используйте Ranges
вместо массивов.
Чтобы использовать массивы и получить результат, который вам нужен, вы должны использовать третий массив. Измерьте его как ваш первый массив Ubound, но я лучше преобразую ваш код:
Sub Variant_Array_Question()
Dim DocNm As Variant, NroNm As Variant, arrStat As Variant
Dim i As Long, j As Long, boolFound As Boolean
Dim NroLastRow As Long, DocLastRow As Long
Dim ShStart As Worksheet
Set ShStart = ActiveSheet 'use here your sheet!!!
'Arr1
DocLastRow = ShStart.Range("Q" & Rows.Count).End(xlUp).Row
DocNm = ShStart.Range("Q6:Q" & DocLastRow).value
ReDim arrStat(1 To UBound(DocNm, 1), 1 To 1) 'arr 3
'Arr2
NroLastRow = ShStart.Range("T" & Rows.Count).End(xlUp).Row
NroNm = ShStart.Range("T6:T" & NroLastRow).value
For i = 1 To UBound(DocNm)
For j = 1 To UBound(NroNm)
If DocNm(i, 1) = NroNm(j, 1) Then
boolFound = True
arrStat(i, 1) = "Match"
Exit For
End If
Next j
If Not boolFound Then
arrStat(i, 1) = "Not Match"
End If
boolFound = False
Next i
ShStart.Range("R6").Resize(UBound(arrStat, 1), 1).value = arrStat
End Sub
Не проверено, но я думаю, что оно будет работать. Если бы вы предоставили редактируемый пример, я бы проверил его ...