用于引用单元格而不是单元格值的VBA语法

用于引用单元格而不是单元格值的VBA语法,vba,reference,Vba,Reference,我希望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 = wo

我希望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

再次感谢您的帮助。

您需要使用适当的分隔符将对象名称和范围地址连接起来:

“=”[“工作簿(源).Name&“]”与工作表(数据).Name&“”&单元格(2,8).地址

因为您正在做的是为单元格的
公式
指定一个
字符串
值,所以我认为这应该是可行的(但我还没有测试,所以可能会有输入错误):


您可以省略工作簿
名称
,只要您指定属于打开工作簿的工作表,我确信工作簿名称是自动的。如果插入公式时文件未打开,则必须包含工作簿名称。

非常感谢,我将修改公式。有点混乱,因为我把我的作业本设定为特定的名称。你可能会认为excel有一个内置属性来应对这种情况。让它正常工作吧。缺少的部分是“!”WSMaster.Cells(master2,master1)。Value=“=”[”&sourcetext&“]”&sourcetext1&““&”&address1
Dim myFormula as String
myFormula = "='["Workbook(Source).Name & "]" & Worksheet(Data).Name & "'!" & Cells(2,8).Address

Workbook(Master).Worksheet(Summary).range(a1).Formula = myFormula