К сожалению, я не очень хорошо разбираюсь в кодировании VBA, и это пример кода, который я нашел в Интернете.Проблема, с которой я столкнулся, заключается в том, что код, похоже, не любит очень большие номера столбцов.когда «LookupRange As Range» становится A1: A10000, VBA больше не работает должным образом.Например, код
=singlecellextract(J1,D1:E5,2)
работает отлично, но
=singlecellextract(J1,D1:E12000,2)
возвращает # ЗНАЧЕНИЕ!ошибка
Вот код VBA, который я использовал для функции
Function SingleCellExtract(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer)
Dim i As Long
Dim result As String
For i = 1 To LookupRange.Columns(1).Cells.Count
If LookupRange.Cells(i, 1) = Lookupvalue Then
result = result & " " & LookupRange.Cells(i, ColumnNumber) & ","
End If
Next i
SingleCellExtract = Left(result, Len(result) - 1)
End Function
Есть ли вероятность того, что этот код будет работать с большим количеством нумерованных столбцов или, что еще лучше, работать с входными данными, такими как A: A?Большое спасибо.
edit: я изменил двойное на длинное, но, похоже, это не повлияет на результат