Надеюсь, что кто-то может помочь с проблемой VBA, которую у меня есть.
Я хочу изменить значение для Именованного диапазона, когда пользователь дважды щелкает по ячейке. Существует два рабочих листа: начальный рабочий лист со значением в ячейке, а затем рабочий лист адресата, содержащий номер учетной записи Named Range.
Это мой код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
[Account_Number] = ActiveCell.Value 'assign the value to the Named Range
Range([Account_Number]).Select ' go to the Named Range on the other worksheet
'Sheets("Transaction Listing_LINKS").Select 'the workaround to the problem below
End Sub
Я ожидаю, что именованный диапазон будет заполнен и выбран.
Проблема в том, что я получаю
“Ошибка 1004: Не удалось выполнить метод ‘Range’ объекта ‘_Worksheet’
при двойном щелчке по ячейке.
Странно, что если я использую только один рабочий лист, он работает без проблем.
Может ли кто-нибудь объяснить мне, почему это произошло и как его избежать?
Единственное исправление/обходное решение, о котором я могу думать, – это кодировать выбор рабочего листа, чтобы заставить его его выбрать.
Спасибо
Try:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'assign the value to the Named Range
Sheet2.Range("Account_Number").Value = ActiveCell.Value
' go to the Named Range on the other worksheet
Application.GoTo Reference:="Account_Number"
'Sheets("Transaction Listing_LINKS").Select 'the workaround to the problem below
End Sub
Конечно, вам нужно будет изменить “Sheet2” на имя листа назначения, содержащее именованный диапазон.