Просто определите qCountry
как нормальную Variant
переменную, например:
Dim qCountry as Variant
Это избавит от одного дополнительного измерения, но у вас все еще есть многомерный массив.
Если вы хотите иметь дело с массивом одного измерения , вы можете использовать Application.Transpose()
Функция :
qCountry = Application.Transpose(Range("A1:GC1").Value)
Но поскольку у вас есть данные в строке , вам нужно сделать это дважды:
qCountry = Application.Transpose(Application.Transpose(Range("A1:GC1").Value))
На данный момент ваш код будет работать:
Dim qCountry
Worksheets("Data").Activate
qCountry = Application.Transpose(Application.Transpose(Range("A1:GC1").Value))
For i = 1 To 185
If Cells(aRow, bCol) <> vbNullString Then
Exit For
ElseIf InStr(1, Cells(aRow, 4), "*" & qCountry(i) & "*") = 1 Then
Cells(aRow, bCol) = qCountry(i)
End If
Next i
Надеюсь, это поможет.