2010-02-13 20 views
16

是否有函数来获取调用VBA函数的单元格的地址?如何在Excel表格中获取调用VBA函数的单元格的地址

我用“Application.ActiveCell.Address”,但发现这种方法不是获取调用单元地址的正确方法。

例如:如果我们具有保存VBA函数的Excel工作表,一旦您重新打开工作表,上述方法将不起作用。

请帮助

尼莫

+0

@nimo,是功能的U​​DF?你可以给一些代码作为你想要做什么的例子吗? –

+2

'ThisCell' https://msdn.microsoft.com/zh-cn/library/office/ff834969.aspx – Slai

回答

19

您可以使用Application.Caller,但你可能会是最好的细胞传递给函数。

With Application.Caller 
     CallerRows = .Rows.Count 
     CallerCols = .Columns.Count 
     CallerAddr = .Address 
    End With 

参见:http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

要通过细胞:

=SomeFunction(A1) 

当代码有:

SomeFunction(r) 
+0

刚发现我提出了同样的问题:[如何找出从哪个单元格调用VBA函数](http://stackoverflow.com/questions/5559279/excel-cell-from-which-a-function-is-called) –

相关问题