Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) и ошибка диапазона

Вопрос:

Надеюсь, что кто-то может помочь с проблемой 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” на имя листа назначения, содержащее именованный диапазон.

Оцените статью
TechArks.Ru
Добавить комментарий