LibreOffice (Calc) VBA 单元格总和(按索引)

Posted

技术标签:

【中文标题】LibreOffice (Calc) VBA 单元格总和(按索引)【英文标题】:LibreOffice (Calc) VBA SUM of Cells by index 【发布时间】:2018-01-24 13:46:44 【问题描述】:

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

在 Excel VBA 中它的单元格 (0,1) 但在 Calc 中如何?

【问题讨论】:

不清楚您询问的是电子表格公式还是宏。我的问题都回答了。 【参考方案1】:

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

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

问题还提到了 VBA,用于 MS Office 中的宏。所以这里有一个 LO Basic 宏,基于 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

【讨论】:

以上是关于LibreOffice (Calc) VBA 单元格总和(按索引)的主要内容,如果未能解决你的问题,请参考以下文章

LibreOffice Calc 单元格文本

如何在 LibreOffice Calc 中交换两个单元格

Libreoffice calc 宏将当前日期 + 14 天放入单元格

LibreOffice Calc:检查单元格是不是为公式

LibreOffice Calc 在单元格中显示公式而不是结果

如何通过 pyuno 提取 LibreOffice calc 中当前选定的单元格范围?