Application.Caller возвращает неверный номер строки - PullRequest
2 голосов
/ 26 сентября 2019

У меня есть следующий код:

Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
    bcn = .Column
    brn = .Row
End With

Большую часть времени он работает без нареканий.Однако иногда, когда это вызывается, возвращаемый номер строки отключается на +14.На листе нет скрытых строк.Когда это происходит, если вы оставляете рабочую таблицу открытой на несколько минут и ничего не делаете, она снова начинает работать.

Что происходит, как я могу это исправить, или есть лучший способ получить номер строки

1 Ответ

0 голосов
/ 26 сентября 2019

Кажется, проблема в том, что если вы оставите имя по умолчанию на вашем Buttons, вполне вероятно, что у вас будут повторяющиеся имена, и Application.Caller просто вернет неуникальное имя, не вернув правильное Sheet имя, которое вам нужно.

Этого можно избежать, используя пользовательские имена и переименовывая ваше Buttons в соответствии с соглашением об именах, например SheetName + Button + Counter (например: Sheet1Button1).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...