2016-05-09 3 views
5

Environment: Windows Server 2008 (SP1) 64-битную | Excel 2007.Excel Range.Value возвращения 0 если диапазон на самом деле имеет данные

У меня есть значение в диапазоне (скажем, 60.664). Когда я запускаю строку кода в ближайшем окне я получил Null в результате a blank space:

?Workbooks("ddWorkbook.xlsm").Worksheets("Daily Dashboard").Range("D23").Value 

Используя Select и ActiveCell заявление, как показано ниже, работает, однако.

Workbooks("ddWorkbook.xlsm").Worksheets("Daily Dashboard").Range("D23").Select 
ActiveCell.Value 

Я могу оставить это быстрый и грязный с Select | ActiveCell, но я хотел бы оставить это сделано с передовой практикой.

Кто-нибудь когда-нибудь сталкивался с этим и как получить Value читать прямо из диапазона объекта? Я ничего не нашел в своих исследованиях.

+1

Он работает, если вы сохранили «Рабочие книги» («ddWorkbook.xlsm»). Рабочие листы («Ежедневная панель»). Диапазон («D23») 'в переменной объекта Range сначала? Если нет, сделайте то же самое со вторым вариантом «ActiveCell». Когда у вас установлены оба параметра диапазона, попробуйте проверить идентичность с оператором 'Is' и выяснить, какие отличия. Если сохранение в переменной диапазона работает, это должно быть предпочтительным решением для взаимодействия с «ActiveCell». – Leviathan

+0

где вы были мужчиной? Пропустил другую сторону Скотту^2. –

+1

@ScottCraner - очень занят в эти дни, мой брат. Спасибо за примечание :) –

ответ

5

Это может быть, что клетка D23 находится в объединенном районе, но не первая ячейка этой области. Это объясняет, почему вы получаете значение после Select. Вы можете проверить это, напечатав адрес как только выбран диапазон:

Workbooks("ddWorkbook.xlsm").Worksheets("Daily Dashboard").Range("D23").Select 
Debug.Print ActiveCell.Address 

И если это так, то вы можете исправить диапазон или попытаться получить значение из слитой области:

Workbooks("ddWorkbook.xlsm").Worksheets("Daily Dashboard").Range("D23").MergeArea.Cells(1,1).Value 
+0

Спасибо! Если бы я увидел, что это была объединенная ячейка с самого начала, я бы не задал вопрос, но это заставило меня посмотреть дальше! Выключает столбцы C и D, которые объединены, но C скрыт. Я предполагал, что, поскольку он был скрыт, он не будет слит! –

 Смежные вопросы

  • Нет связанных вопросов^_^