我有一个奇怪的问题,试图写出这个非常简单的vba方法
这很好用:
ThisWorkbook.Sheets("Analyse").Cells(i, 2) = "=HiGuys"
这很好用:
ThisWorkbook.Sheets("Analyse").Cells(i, 2) = "=VLOOKUP"
但这会导致“运行时错误'1004'而它不应该。我会为此疯狂!
ThisWorkbook.Sheets("Analyse").Cells(i, 2) = "=VLOOKUP("
我错过了一些明显的东西......?
非常感谢!
答案 0 :(得分:0)
是的,你是。 : - )
你编码
ThisWorkbook.Sheets("Analyse").Cells(i, 2) = "=VLOOKUP("
它等于
ThisWorkbook.Sheets("Analyse").Cells(i, 2).Formula = "=VLOOKUP("
你不能在Excel中制作不完整的公式。如果你只想写字符串“= VLOOKUP(”你可以这样做:
ThisWorkbook.Sheets("Analyse").Cells(i, 2) = "'=VLOOKUP("
[与'之前的一切]
如果你想制作一个真正的公式,你需要完成它,比如
ThisWorkbook.Sheets("Analyse").Cells(i, 2).Formula = "=VLOOKUP(A1,A:C,2,False)"
答案 1 :(得分:0)
必须涉及某种程度的“保护”:
Sub asdf()
ActiveCell.Value = "=VLOOKUP("
End Sub
会抛出“1004”,但是:
Sub asdf2()
ActiveCell.Value = "=VLOOKUP"
End Sub
不会。
这类似于如果您尝试手动输入错误的公式,工作表的响应方式。