我正在创建一个名为varRef的新工作表,并尝试使用VBA将现有工作表的单元格链接到此新工作表。我一直试图解决这个问题几个小时,但无法做到正确,也无法在网上找到类似的案例。
代码是:
Dim varRef as Variant 'name of the new sheet
varRef = Inputbox("xyz") 'this is how I define the name
Dim intRow As Integer 'row that corresponds to the appropriate postion in the existing sheet
intRow = ActiveCell.Row 'see above
Cells(intRow, 22).Formula = "=IF(varRef & ""!I148""="""","""",varRef & _
""!I148"")" 'trying to link the contents within the same workbook
我得到的单元格中的结果是
=IF(varRef & "!I148"="","",varRef & "!I148"
显然不起作用。
问题1)是VBA无法识别公式中的变量。但它正在为工作表命名。
问题2)是引号,无法正常工作。一个应该使用双引号来结束字符串。但是,第二个标记不会在单元格的最终代码中消失。
非常感谢任何帮助,并希望对其他用户也有价值!
答案 0 :(得分:1)
您在"
变量之前和之后有很多varRef
来计算问题。
此外,我更喜欢使用Chr(34)
在"
字符串中加Formula
,这样我就不会对需要使用的"
感到困惑
尝试以下代码:
Cells(intRow, 22).Formula = "=IF(" & varRef & "!I148=" & Chr(34) & Chr(34) & "," _
& Chr(34) & Chr(34) & "," & varRef & "!I148)"