vba宏中的if错误和vlookup
我的任务是编写一个公式,其中包括if、iferror和Vlookup 我需要应用公式,直到最后一行包含值的末尾 如果vlookup抛出NA,则单元格应为空,否则该值应替换为数值“1” 但当尝试公式,但它是错误的vba宏中的if错误和vlookup,vba,excel,formula,vlookup,Vba,Excel,Formula,Vlookup,我的任务是编写一个公式,其中包括if、iferror和Vlookup 我需要应用公式,直到最后一行包含值的末尾 如果vlookup抛出NA,则单元格应为空,否则该值应替换为数值“1” 但当尝试公式,但它是错误的 Sub testt() Dim l As Long l = Sheets(1).Range("A1:A" & Sheets(1).Cells(Sheets(1).Rows.Count, "A").End(xlUp).Row).Count With Sheets("Sh
Sub testt()
Dim l As Long
l = Sheets(1).Range("A1:A" & Sheets(1).Cells(Sheets(1).Rows.Count, "A").End(xlUp).Row).Count
With Sheets("Sheet1")
.Range("d1").Formula = "=IF(iferror(vlookup(c2,$D:$D,1,false),""),"",1)"
.Range("d1").AutoFill Destination:=Range("d1:d" & l), Type:=xlFillDefault
End With
End Sub
我的第一个想法。。。在VBA中,您应该在公式中使用两个“for every” 另外,是否要使用iSeries 我将替换以下公式
.Range("d1").Formula = "=IF(iserror(vlookup(c2,$D:$D,1,false)),"""",1)"
否则,请让我们知道您得到了什么错误。我认为问题在于公式的IF部分,特别是逻辑测试。对于电子表格IF函数,公式为:
=IF(logical_test, value_if_true, value_if_false)
逻辑测试是(从Excel帮助文件)任何可计算为TRUE或FALSE的值或表达式。例如,A10=100是一个逻辑表达式;如果单元格A10中的值等于100,则表达式的计算结果为TRUE。否则,表达式的计算结果为FALSE
您的逻辑测试很简单:
iferror(vlookup(c2,$D:$D,1,false),"")
也许应该是:
iferror(vlookup(c2,$D:$D,1,false),"") = ""
给出公式(还有“国王的建议”):
从你的例子中,很少有不合理的事情。首先,最后一行的计算使用同一公式中的图纸(3)和图纸(1),然后将图纸(“图纸3”)与结果一起使用。此外,公式中的“IF”语句没有条件值。您应该先在电子表格中试用您的公式。@CuberChase:我更改了公式。希望现在你能理解它不是显示错误,但是我没有在一些单元格中得到空白,一些单元格“1”没有替换这个值。
"=IF(iferror(vlookup(c2,$D:$D,1,false),"""")="","",1)"