软编码Vlookup函数中特殊字符的VBA运行时错误1004

时间:2018-04-04 20:28:47

标签: excel vba excel-vba

当我试图抛出竖线时#34; |"进入我的vlookup函数,我得到了1004错误。我不知道它来自哪里。

最初数据表如下所示:

original

我的代码是这样的:

Sheets("Sheet 1").Cells(i, 2).Formula = "=VLOOKUP($A" & i & ",Data!$A$1:$B$" & LastRow & "," & ColmNum & ",0)"

一切正常,直到数据表的格式变为:

New Format

所以我不得不抛出竖线" |"进入我的代码。我的新代码是这样的:

NewKey = Sheets("Sheet 1").Cells(i, 1).Value & "|" & Sheets("Data").Cells(i, 2).Value
Sheets("Sheet 1").Cells(i, 3).Formula = "=VLOOKUP(" & NewKey & ",Data!$A$1:$B$" & LastRow & "," & ColmNum & ",0)"

显然Excel 2010不喜欢我的代码并且给我一个1004错误。我想知道是否有人知道解决方案。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

当公式放在工作表上时,

NewKey需要在引号中,因此您需要在字符串中包含引号:

NewKey = Sheets("Sheet1").Cells(i, 1).Value & "|" & Sheets("Sheet1").Cells(i, 2).Value
Sheets("Sheet1").Cells(i, 3).Formula = "=VLOOKUP(""" & NewKey & """,Data!$A$1:$B$" & LastRow & "," & ColmNum & ",0)"