首页 > 解决方案 > 编译错误:插入 excel 公式的代码导致的语法错误

问题描述

这行代码导致编译错误:语法错误我无法弄清楚我必须更改什么。它适用于其他公式,所以我认为这可能与公式有关。

  Range("O2:O" & LastRow).Formula = "=WENN(Q2="";"";WENN(H2*7*Q2<L2;"Möglich";"Prüfen"))"

感谢您的帮助和建议

我的整个代码:

    Columns("A:M").Select
    Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Range("N2").Select
    Range("P2:P240023").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("N3").Select
    Range("N3:O24023").Select
    Selection.ClearContents
    Range("N2:O2").Select
    Selection.AutoFill Destination:=Range("N2:O24023")
    Range("N2:O240023").Select
    Columns("A:O").Select
    Columns("A:O").EntireColumn.AutoFit
    Range("C:C,J:J,K:K,M:M").Select
    Range("M1").Activate
    Selection.EntireColumn.Hidden = True
    Rows("2:2").Select
    ActiveWindow.FreezePanes = True

    Range("O2:O" & LastRow).Formula = "=WENN(Q2="";"";WENN(H2*7*Q2<L2;"Möglich";"Prüfen"))"

标签: excelvbacompiler-errors

解决方案


"问题是公式的第一部分没有足够的引号,导致字符串不终止。尝试像这样更改代码:

Range("O2:O" & lastRow).Formula = "=IF(Q2="""","""",IF(H2*7*Q2<L2,""Möglich"",""Prüfen""))"

或者如果您想保留本地语言公式,请像这样:

Range("O2:O" & lastRow).FormulaLocal = "=WENN(Q2="""";"""";WENN(H2*7*Q2<L2;""Möglich"";""Prüfen""))"

希望能帮助到你。


推荐阅读