0

我想编写一个代码以在范围(“c6:c205”)中插入以下公式。=IFERROR(VLOOKUP(C6;价格表!A5:F21997;2;FALSE);" ")

您能帮我更正以下代码吗?先感谢您。


For i = 6 To 205
Dim myFormula As String        
        myFormula = "=IFERROR(VLOOKUP(C"
        myFormula = myFormula & i
        myFormula = myFormula & ";Pricelist!A5:F21997;2;FALSE);"
        myFormula = myFormula & " "" "
        myFormula = myFormula & ")"
        
        
        Range("E" & i).Formula = myFormula
        
 Next
4

3 回答 3

0

你不需要那么多代码行来得到这个。尝试:

子 AddFormula()

Dim myFormula As String
myFormula = "=IFERROR(VLOOKUP(C6,pricelist!A5:F21997,2,FALSE),"""")"

For i = 6 To 10
    Range("E" & i).Formula = myFormula
Next i
End Sub
于 2020-06-22T12:24:57.527 回答
0

使用逗号并修正一些双引号:

Sub ksdjfhs()
    dq = Chr(34)
    For i = 6 To 205
        Dim myFormula As String
        myFormula = "=IFERROR(VLOOKUP(C"
        myFormula = myFormula & i
        myFormula = myFormula & ",Pricelist!A5:F21997,2,FALSE),"
        myFormula = myFormula & dq & dq
        myFormula = myFormula & ")"
            
        Range("E" & i).Formula = myFormula
 Next
End Sub
于 2020-06-22T12:26:59.757 回答
0

您可以在没有循环的情况下一次性完成,它会自动调整。

range("e6:e205").formula="=IFERROR(VLOOKUP(C6,Pricelist!$A$5:$F$21997,2,FALSE),"" "")

在 VBA 中,您不使用本地设置,例如 ;

你需要加倍引号。

于 2020-06-22T12:17:38.540 回答