Excel / объект

Range

Диапазон — Ячейка или прямоугольник ячеек: значения, формулы, поиск, копирование.

Range — главный рабочий объект Excel VBA. Почти все ошибки 1004 и медленные макросы рождаются здесь: Select/Activate, запись по одной ячейке, путаница Value/Value2/Text. Читайте и пишите массивами, адресуйте через Cells, не трогайте выделение.

Свойства

ИмяТипСуть
Value Variant Значение ячейки с учётом типа Excel, в том числе валюта и дата как Date.
Value2 Variant Значение без Currency и без Date: даты — числа OLE Automation.
Text String То, что видит пользователь, с форматом и разделителями.
Formula Variant Формула в стиле A1 на языке интерфейса Excel.
FormulaR1C1 Variant Формула в относительных координатах строки/столбца.
Address String Адрес диапазона строкой.
Offset Range Тот же размер, сдвинутый на строки и столбцы.
Resize Range Новый диапазон от левого верхнего угла с другим числом строк и столбцов.
End Range Эквивалент Ctrl+стрелка от текущей ячейки.
CurrentRegion Range Блок, ограниченный пустыми строками и столбцами.
NumberFormat String Строка формата ячейки.

Методы

ИмяСигнатураСуть
Find Find(What, [After], [LookIn], [LookAt], [SearchOrder], [SearchDirection], [MatchCase], [MatchByte], [SearchFormat]) As Range Ищет значение в диапазоне, как диалог «Найти».
Copy Copy([Destination]) Копирует диапазон в буфер или сразу в Destination.
PasteSpecial PasteSpecial([Paste], [Operation], [SkipBlanks], [Transpose]) Вставляет из буфера значения, форматы, формулы.
ClearContents ClearContents() Удаляет значения и формулы, оставляет форматы.
SpecialCells SpecialCells(Type, [Value]) As Range Подмножество: константы, формулы, пустые, видимые.