我想编写一个Libreoffice-Basic函数,该函数考虑了放置该函数的单元格的行和列。我想如果可以定义一个函数,就可以解决我的问题:
Function MyRowFun()
MyRowFun = ?????
End Function
复制内置函数ROW()
。换句话说,一旦我在任何给定的单元格中键入"=MyRowFun()"
,该单元格将显示与键入"=ROW()"
相同的结果。
能够获得相应的工作表名称也很不错。
非常感谢您的帮助,例如在线手册的指针。
PS:在花费大量时间进行搜索之后,我发现了很多地方来说明如何使用ThisComponent.CurrentSelection.AbsoluteName
来识别所选内容下的单元格,但是我很关心放置公式的单元格< / strong>,而不是当前选择的单元格。
答案 0 :(得分:1)
对于遇到此问题的其他人,@ JohnSUN在第一条评论中给出了解决方案:
如果您知道不带参数的SHEET(),ROW()和COLUMN()可以返回工作表-行-列号,那么只需在调用UDF时将它们作为参数传递即可。
发布者希望获得其他类型的解决方案,但没有其他办法。
答案 1 :(得分:0)
No SHEET(), ROW(), COLUMN()
Use Excel VBA Range. Just referring to itself. And without quotes.
C5: =UDF(Arg1;Agr2;C5)
________________________
Option VBASupport 1
Function UDF(Arg1, Arg2, Optional Caller)
If Not IsMissing(Caller) Then
sCallerName = Caller.CellRange.AbsoluteName
Print sCallerName
End If
End Function