Excel ЧаВо


Как записать значения сразу в несколько ячеек?


Для записи в несколько (область) ячеек используется объект Range (ExcelRange). Пример, как можно получить объект Range для области ячеек.

Delphi:

oRng: ExcelRange; ... ASheet := (XL.ActiveWorkbook.ActiveSheet as _Worksheet); oRng := ASheet.Range['A1:B5', EmptyParam]; oRng := ASheet.Range['A1', 'B5']; oRng := ASheet.Range[ASheet.Cells.Item[1, 1], ASheet.Cells.Item[5, 2]]; oRng.Formula := 123.45;

// обращение к объекту Rows

oRng := ASheet.Range['3:7', EmptyParam].Rows; oRng := ASheet.Range['A3:A7', EmptyParam].EntireRow;

// обращение к объекту Columns

oRng := ASheet.Range['B:E', EmptyParam].Columns; oRng := ASheet.Range['B1:E1', EmptyParam].EntireColumn;

Заметьте, что при обращении к свойству Range и Cells объекта Range, адресация будет уже работать относительно области, указанной в объекте Range. Например, нижеприведенный код будет указывать не на ячейку "A1", как сразу можно подумать, а на "C2":

ASheet.Range['C2:F20', EmptyParam].Range['A1', EmptyParam];

А вот такой код вернет ячейку с адресом "D3":

ASheet.Range['C2:F20', EmptyParam].Range['B2', EmptyParam];

EntireRow Property

EntireColumn Property

How to: Refer to Worksheet Ranges in Code



Содержание раздела