LibreOffice(Calc)通过索引的单元格的VBA SUM

时间:2018-01-24 13:46:44

标签: openoffice-calc

是否有可能使用SUM()而不是Cellnames(A2:A6),而是使用CellIndex? 类似于= SUM(Sheet.getCellByPosition(0,1):Sheet.getCellByPosition(5,1))

在Excel VBA中它的单元格(0,1)但是在Calc中这是怎么回事?

1 个答案:

答案 0 :(得分:0)

这是一个Calc电子表格公式。文档:ADDRESS, INDIRECT, OFFSET, INDEX

=SUM(INDIRECT(ADDRESS(2;1)&":"&ADDRESS(6;1)))

该问题还提到了VBA,用于MS Office中的宏。所以这是一个LO基本宏,基于XCellRangehttps://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