是否有可能使用SUM()而不是Cellnames(A2:A6),而是使用CellIndex? 类似于= SUM(Sheet.getCellByPosition(0,1):Sheet.getCellByPosition(5,1))
在Excel VBA中它的单元格(0,1)但是在Calc中这是怎么回事?
答案 0 :(得分:0)
这是一个Calc电子表格公式。文档:ADDRESS, INDIRECT, OFFSET, INDEX。
=SUM(INDIRECT(ADDRESS(2;1)&":"&ADDRESS(6;1)))
该问题还提到了VBA,用于MS Office中的宏。所以这是一个LO基本宏,基于XCellRange和https://ask.libreoffice.org/en/question/88539/from-cell-range-to-array/。
Function RangeSum(nLeft, nTop, nRight, nBottom)
oSheet = ThisComponent.CurrentController.ActiveSheet
oCellRange = oSheet.getCellRangeByPosition(nLeft, nTop, nRight, nBottom)
svc = createUnoService("com.sun.star.sheet.FunctionAccess")
RangeSum = svc.callFunction("SUM", Array(oCellRange.Data))
End Function