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 宏将当前日期 + 14 天放入单元格