我创建了一个按钮,用于在作业数据库中添加新的作业条目。根据{{1}}中的值,使用搜索“作业类别”工作表进行Vlookup,并在Cells (emptyRow,40)
中输出结果。因此,每次我添加一个新的工作条目时,我希望Cells (emptyRow,43)
输入公式并告诉我这项工作属于哪个,如下所示
Cells(emptyRow,43)
但是,我收到此消息:Dim emptyRow As Long
emptyRow = Range("Z100000").End(xlUp).Offset(1, 0).Row
Cells(emptyRow, 43).Formula = "=IF(Cells(emptyRow,40)=0, "", VLOOKUP(Cells(emptyRow,40),'Job Category'!$G$10:$I$12, 3, TRUE))"
任何人都知道为什么?
答案 0 :(得分:2)
您正在将工作表函数语法和VBA语法混合在一起。虽然您可以使用WorksheetFunction object从VLOOKUP function返回结果,但似乎您希望将公式写入单元格。由于emptyRow变量,这可能更适合作为xlR1C1样式公式。
'as an xlA1 style
Cells(emptyRow, 43).Formula = _
"=IF(AN" & emptyRow & "=0, """", VLOOKUP(AN" & emptyRow & ",'Job Category'!$G$10:$I$12, 3, TRUE))"
'as an xlR1C1 style
Cells(emptyRow, 43).FormulaR1C1 = _
"=IF(RC40=0, """", VLOOKUP(RC40, 'Job Category'!R10C7:R12C9, 3, TRUE))"
请记住,在引用字符串中包含引号时,您需要将引号加倍。
答案 1 :(得分:1)
$column->ItemTemplate = banner_urltype=='web_url' ? 'Web Url' : 'Video Url';
答案 2 :(得分:0)
你也可以使用iferror,
Sub Button1_Click()
Dim emptyRow As Long
emptyRow = Cells(Rows.Count, "Z").End(xlUp).Row + 1
Cells(emptyRow, 43).Formula = "=IFERROR(VLOOKUP(AN" & emptyRow & ",'Job Category'!$G$10:$I$12,3,1),"""")"
End Sub