String Excel VBA-连接字符串

String Excel VBA-连接字符串,string,excel,string-concatenation,vba,String,Excel,String Concatenation,Vba,我正在尝试学习VBA,并获得了一些关于如何使用CStr增加我引用的工作簿行数的帮助。在下面的示例中,我试图将另一个工作簿上的单元格与字符串“year”连接起来。如果我把“年”去掉,效果很好,但加上“年”就不行了。一定是我做错了什么,但我想不出来 Dim year As String year = "16" ActiveCell.FormulaR1C1 = "='[Junk Work File.xlsx]Total'!R" & CStr(r) & "C1" & year

我正在尝试学习VBA,并获得了一些关于如何使用CStr增加我引用的工作簿行数的帮助。在下面的示例中,我试图将另一个工作簿上的单元格与字符串“year”连接起来。如果我把“年”去掉,效果很好,但加上“年”就不行了。一定是我做错了什么,但我想不出来

Dim year As String
year = "16"
ActiveCell.FormulaR1C1 = "='[Junk Work File.xlsx]Total'!R" & CStr(r) & "C1" & year

尝试使用“+”而不是“&”

    ActiveCell.FormulaR1C1 = "='[Junk Work File.xlsx]Total'!R" & CStr(r) & "C1" + year

您可以使用连接函数

    ActiveCell.FormulaR1C1 = Concatenate("='[Junk Work File.xlsx]Total'!R" & CStr(r) & "C1" , year)

定义“不适用于我们”。会发生什么?错误?意外结果?………使用“年”尝试为变量使用其他名称,它可能无法工作,因为“年”是保留字。试试strYear吧。我认为问题的一部分在于最终结果。由于
year
定义为“16”,因此您的结果字符串(大约):
=JunkTotal!R1C116
。这将创建一个查找第116列中的单元格的公式。我怀疑这是你想要的。去掉“C1”中的“1”:&“C”和“year”