Как объединить ячейки? Как узнать
Delphi:
// объединим область ячеек "A1:C2" строки "вместе"
ASheet.Range['A1:C2', EmptyParam].Merge(False); ASheet.Range['A1', EmptyParam].Select; // подправим вид курсора
ASheet.Range['A1', EmptyParam].MergeArea.Formula := 'A1:C2 объединены';
// объединим область ячеек "A3:C4" "раздельно" каждую строку
ASheet.Range['A3:C4', EmptyParam].Merge(True);
// определим, что ячейка C2 принадлежит объединенной области
// при этом тестируем крайнюю ячейку области на вхождение
if ASheet.Range['C2', EmptyParam].MergeCells then begin
// если это так, то получим координаты области
ASheet.Range['A3', EmptyParam].MergeArea.Formula := 'В стиле A1: ' + ASheet.Range['C2', EmptyParam].MergeArea.Address[True, True, xlA1, EmptyParam, EmptyParam]; ASheet.Range['A4', EmptyParam].MergeArea.Formula := Format('Начало в R%dC%d, конец в R%dC%d', [ ASheet.Range['C2', EmptyParam].MergeArea.Row, ASheet.Range['C2', EmptyParam].MergeArea.Column, ASheet.Range['C2', EmptyParam].MergeArea.Row + ASheet.Range['C2', EmptyParam].MergeArea.Rows.Count - 1, ASheet.Range['C2', EmptyParam].MergeArea.Column + ASheet.Range['C2', EmptyParam].MergeArea.Columns.Count - 1
]); end;
Смотрите дальше, как сделать автоподбор высоты строк для объединенных ячеек.
MergeCells Property
MergeArea Property
Merge Method
UnMerge Method