我希望VBA语法用于引用单元格而不是值。
我知道
Workbook().Worksheet().Cell().Value
返回单元格的值。
我想知道单元格引用,类似于='[Vba Source Test.xlsx]Source'!$B$8
我尝试使用:
workbook().worksheet().cell().address
但它只返回$B$8
部分。
我将在这样的代码中使用它。
Workbook(Master).Worksheet(Summary).range(a1).value =
workbook(Source).Worksheet(Data).cell(2,8).address
再次感谢能为您提供帮助的人。
答案 0 :(得分:1)
您需要连接对象名称和&范围地址,带有适当的分隔符:
"='["Workbook(Source).Name & "]" & Worksheet(Data).Name & "'" & Cells(2,8).Address
因为您正在做的是为单元格的String
分配Formula
值,我认为这应该有用(但我没有测试过,所以可能会有拼写错误):
Dim myFormula as String
myFormula = "='["Workbook(Source).Name & "]" & Worksheet(Data).Name & "'!" & Cells(2,8).Address
Workbook(Master).Worksheet(Summary).range(a1).Formula = myFormula
您可以从中省略工作簿Name
,我很确定只要您指定属于打开的工作簿的工作表,工作簿名称就是自动的。如果在插入公式时文件未打开,则必须包含工作簿名称。