我想在vba中编写这个函数,以便它给我单元格id。
=ADDRESS(1,2,4,TRUE,"Sheet1")
有人知道VBA的语法吗?提前致谢。
答案 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).Name
与mySheetName
相同,所以只需使用"'" & mySheetName & "'!" & ...
)