Вот набросал макрос "Объеденить по строкам", может кому понадобится.
Мне его в Calc-e сильно не хватало.
sub MergeByRow
rem ----------------------------------------------------------------------
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
rem ---------
args1(0).Name = "ToPoint"
rem ---------
oSelect = ThisComponent.CurrentSelection.getRangeAddress
oSelectColumn = ThisComponent.CurrentSelection.Columns
oSelectRow = ThisComponent.CurrentSelection.Rows
CountColumn = oSelectColumn.getCount
CountRow = oSelectRow.getCount
oSelectSC = oSelectColumn.getByIndex(0).getName
oSelectEC = oSelectColumn.getByIndex(CountColumn-1).getName
oSelectSR = oSelect.StartRow + 1
oSelectER = oSelect.EndRow + 1
For nr = oSelectSR To oSelectER
args1(0).Value = "$"+ oSelectSC + "$" + nr + ":$" + oSelectEC + "$" + nr
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:MergeCells", "", 0, Array())
Next nr
end sub