在包含变体的范围内插入公式

时间:2020-06-22 12:14:08

标签: excel vba excel-formula

我想编写一个代码,将以下公式插入到range(“ c6:c205”)范围内。 = IFERROR(VLOOKUP(C6; Pricelist!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

3 个答案:

答案 0 :(得分:0)

您可以无循环执行,它会自动调整。

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

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

您需要将报价加倍。

答案 1 :(得分:0)

您不需要那么多代码行即可实现。试试:

Sub 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

答案 2 :(得分: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