A range of solutions can be seen at Macro to Copy Cell values, formats, and image - #11 by mauricio.
Here is a solution based on one by @mauricio that seems to “just work” and makes perfectly good sense:
Option Explicit
Sub Test()
CopyAll "Sheet1","C9","Sheet2","J6"
End Sub
Sub CopyAll(SourceSheetName As String, SourceCellName As String, TargetSheetName As String, TargetCellName As String)
Rem Based on https://ask.libreoffice.org/t/macro-to-copy-cell-values-formats-and-image/45980/11 by mauricio
Dim Doc As Object
Dim Source As Object
Dim TargetSheet As Object
Dim Target As Object
Doc = ThisComponent
Source = Doc.Sheets.getByName(SourceSheetName).getCellRangeByName(SourceCellName)
TargetSheet = Doc.Sheets.getByName(TargetSheetName)
Target = TargetSheet.getCellRangeByName(TargetCellName).getCellByPosition(0,0)
TargetSheet.copyRange(Target.CellAddress, Source.RangeAddress)
End Sub
The trick is to feed copyRange what it wants, a source range address but a target cell address (since whatever the source range size is, it just plops down with its upper left corner at the target cell).