Как получить значение объединенной ячейки Excel с адресом диапазона, например" $ B $ 4: $ B $ 11 "в vba
Даже если в Excel не рекомендуется использовать ячейки слияния (например, при необходимости используйте Center Across Selection
), ячейка, которая «содержит» значение, является ячейкой в верхнем левом углу . (по крайней мере, это способ выразить это).
Следовательно, вы можете получить значение объединенных ячеек в диапазоне B4:B11
несколькими способами:
Range("B4").Value
Range("B4:B11").Cells(1).Value
Range("B4:B11").Cells(1,1).Value
Вы также можете заметить, что все остальные ячейки не имеют значения в них. Во время отладки вы можете видеть, что значение равно empty
.
Также обратите внимание, что Range("B4:B11").Value
не будет работать (выдает ошибку выполнения номер 13, если вы попытаетесь Debug.Print
его), потому что он возвращает массив.
Это можно сделать в 2 этапа:
Назовите диапазон объединенных ячеек; выделите объединенную ячейку и перейдите на панель ленты: Formulas Tab --> Define Name;
Убедитесь, что в имени нет пробелов. Пример: defined_Name
. Перейдите к нужной ячейке, которую вы хотите увидеть результат / результат. В этой ячейке введите: =defined_Name
.
Нажмите ввод, потому что вы сделали.