У меня есть определенная пользователем функция, как показано ниже, которая позволяет мне объединить два несмежных столбца в непрерывный массив.
Function MakeContig(ParamArray av() As Variant) As Variant
Dim avOut() As Variant
Dim i As Long
Dim j As Long
ReDim avOut(1 To av(0).Count, 0 To UBound(av))
For j = 0 To UBound(av)
For i = 1 To av(j).Rows.Count
avOut(i, j) = av(j)(i)
Next i
Next j
MakeContig = avOut
End Function
Итак, если я ввожу в ячейку «= makecontig(A1:A5,E1:E5)», формируется единый массив, состоящий из двух столбцов, включенных в формулу. Я хотел бы иметь возможность редактировать эту функцию, чтобы она игнорировала запись массива, полного ошибок, или любого типа записи, отличной от массива.
Например, если я наберу "=makecontig(A1:A5,E1:E5, , )" или "=makecontig(A1:A5,Nothing,E1:E5)" или "=makecontig(A1:A5,E1:E5, C1:C5*#N/A)" Я бы хотел, чтобы он игнорировал ошибку или пустой параметр и создавал непрерывный массив только для A1:A5 и E1:E5.
Я предполагаю, что мне нужно включить оператор If/Then где-то в UDF, но я не могу понять, как его правильно выполнить.
Любая помощь будет оценена по достоинству!