Merging is evil. If you insist to merge cells in a range row by row you will need user code. In LibreOffice Basic:
Sub mergeRowByRow(Optional pSheetCellRange as Object, Optional pSeparator As String)
If IsMissing(pSheetCellRange) Then pSheetCellRange = ThisComponent.CurrentSelection
If IsMissing(pSeparator)      Then pSeparator = ""
If NOT pSheetCellRange.supportsService("com.sun.star.sheet.SheetCellRange") Then Exit Sub
uR            = pSheetCellRange.Rows.Count    - 1
uC            = pSheetCellRange.Columns.Count - 1
For j = 0 To uR
 j_Lead        = pSheetCellRange.getCellbyPosition(0, j)
 j_Rg          = pSheetCellRange.getCellRangeByPosition(0, j, uC, j)
 j_DA          = j_Rg.getDataArray
 newString     = Join(j_DA(0), pSeparator)
 j_Rg.ClearContents(7)
 j_Lead.String = newString
 j_Rg.Merge(True)
Next j
End Sub 
Did I tell you that merging is evil?