用于连接和评估的VB语法错误

时间:2016-12-15 18:57:25

标签: excel excel-vba concatenation vba

我正在尝试编写一个VB脚本,将数据连接成一个url字符串,然后我希望它复制到该列的所有行。我有填充代码工作正常,但当我尝试添加连接时,我不断收到语法错误,所以我不确定我做错了什么。我尝试了两个版本,它们都在脚本的最后一行(右侧)给出了语法错误:

脚本版本1:

Sub SetSurveyLink()

' SetSurveyLink Macro

Dim lngLastRow As Long
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("C3:C" & lngLastRow).Value = EVALUATE("https://domainname.com/survey/?PartName=" & 'Client List'!B1 & "&ClientID="&B2)
End Sub

脚本版本2:

Sub SetSurveyLink()

' SetSurveyLink Macro

Dim lngLastRow As Long

lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("C3:C" & lngLastRow).Value = CONCATENATE("https://domainname.com/survey/?PartName=",'Client List'!B1,"&ClientID=",B2)

End Sub

'concatenate'字符串在单元格中使用时给出了正确的值(即不作为脚本的一部分),但我无法让它在脚本中工作。看到我的语法中缺少的任何内容?

谢谢!

1 个答案:

答案 0 :(得分:1)

字符串中的任何双引号都需要转义为双引号,所以,如果

"https://domainname.com/survey/?PartName=" & 'Client List'!B1 & "&ClientID="&B2

在Excel中工作,它变为

""https://domainname.com/survey/?PartName="" & 'Client List'!B1 & ""&ClientID=""&B2

然后你需要将它括在双引号内,使它成为VBA中的字符串文字,即

"""https://domainname.com/survey/?PartName="" & 'Client List'!B1 & ""&ClientID=""&B2"