Excel VBA相当于ADDRESS函数

时间:2017-01-26 00:46:41

标签: excel excel-vba excel-formula vba

我想在vba中编写这个函数,以便它给我单元格id。

=ADDRESS(1,2,4,TRUE,"Sheet1")

有人知道VBA的语法吗?提前致谢。

1 个答案:

答案 0 :(得分:6)

在VBA中执行类似操作的常规方法是

Worksheets("Sheet1").Cells(1, 2).Address(RowAbsolute:=False, _
                                         ColumnAbsolute:=False, _
                                         External:=True)

将返回[TestWorkbook.xlsm]Sheet1!B1

Worksheets("Sheet1").Cells(1, 2).Address(RowAbsolute:=False, _
                                         ColumnAbsolute:=False, _
                                         External:=False)

只返回B1

没有显示工作表名称和单元格的简单方法,也不包括工作簿名称。可能的方法是

"'" & Worksheets("Sheet1").Name & "'!" & Worksheets("Sheet1").Cells(1, 2).Address(RowAbsolute:=False, _
                                                                                  ColumnAbsolute:=False, _
                                                                                  External:=False)

(显然,如果您使用Worksheets("Sheet1").Name,那么您也可以使用"Sheet1",但我这样编写它以便您可以使用变量而不是硬编码值。编辑:重新读取最后一句,我意识到它是多么愚蠢 - Worksheets(mySheetName).NamemySheetName相同,所以只需使用"'" & mySheetName & "'!" & ...