0

我想要 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

再次感谢任何可以提供帮助的人。

4

1 回答 1

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,我很确定工作簿名称是自动的,只要您指定属于打开的工作簿的工作表。如果插入公式时文件未打开,则必须包含工作簿名称。

于 2013-07-05T03:48:55.520 回答