в моем приложении я вызываю функцию и передать 4 значения для расчета ячейки адреса:УВЫ - правильно передавая значение диапазона для функции
nettowertadresse = searchAdress(Dateiname, CurrentSheet, "Nettowert", Range("A1:C60"))
функция:
Function searchAdress(inputworkbook As String, inputsheet As String, inputsearchtext As String, inputrange As Range) As Range
With Workbooks(inputworkbook).Sheets(inputsheet).Range(inputrange)
Set searchAdress = .Find(inputsearchtext, LookIn:=xlValues)
End With
End Function
Теперь проблема заключается в том, что я получаю сообщение об ошибке 1004 «определенная или объектная ошибка», и я думаю, что, возможно, диапазон не прошел должным образом, потому что отладчик не показывает значение переменной «inputrange» при переходе к функции. пожалуйста, дайте несколько советов о том, как заставить эту функцию работать. Благодарю.
Кажется, что переменная 'inputRange' вводит функцию' As Range', но для использования вы скорее должны быть 'As String'. Каково именно значение, которое вы передаете функции (просто укажите пример)? –
как видно выше, i pass: Range («A1: C60») – chrnit
Вы ошибаетесь, когда проходите диапазон, но затем хотите использовать только его адрес (который является строкой). Ниже у вас есть два хороших ответа, я использовал бы Ричарда, поскольку он позволяет использовать функцию, сохраняющую входной диапазон как Range (так что вам не нужно сильно изменять свой код, если эта функция уже распространяется в других частях кода) –