Как определить номер строки строки, в которой выполняется функция? (ВБА)

Как узнать, в какой строке выполняется функция? Просто пример:

Function getRowNumber () as Integer
     getRowNumber = ???
End Function

Мне это нужно, потому что я написал функцию, которая должна возвращать значения из одной и той же строки (formular получает свой собственный столбец, а затем вычисляет более 300 различных значений для этих 300+ строк). Или есть другой способ адресации значений в строке?

Вам не нужно писать функцию самостоятельно, так как =ROW() получит то, что вам нужно.

JvdV 14.12.2020 15:06

Но мне нужны данные для Row, которых у меня нет. Решение ниже работало отлично.

justuswolff 14.12.2020 15:21
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
2
284
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В этом случае вы можете использовать свойство Application.Caller. Что-то вроде следующего может помочь вам.

Function Tester() As Long
    Dim o As Object
    Set o = Application.Caller
    
    Tester = o.Row
End Function

Возможно, более структурированный подход состоял бы в том, чтобы взять Range в качестве параметра вашей функции, а затем использовать строку этого входного параметра.

Function Tester(rng as Range) as Long
    Dim nRow as long

    nRow = rng.Row 
    'Do other stuff
End function

@BigBen Я отредактировал свой пост для Long. Мой вывод из его поста заключался в том, что это было частью более крупного вызова функции, и на самом деле он не писал UDF, чтобы получить текущую строку. Я могу ошибаться, но я так интерпретировал это.

basodre 14.12.2020 15:12

Большое спасибо. Именно то, что я искал!

justuswolff 14.12.2020 15:22

Другие вопросы по теме