繁体   English   中英

Excel VBA 1004 错误公式

[英]Excel VBA 1004 Error formulas

我已经在 VBA 工作了大约一个月,我觉得我对这门语言有很好的掌握。 不幸的是,这就是这个错误如此令人沮丧的原因。

我正在尝试为单元格分配一个公式,但我没有使用英式分隔符(所以是逗号,而不是分号)。 我仍然收到运行时错误。

实际公式的语法很好,因为我已经尝试在 Excel 中使用它,并且它可以满足我的需要,所以我必须假设错误出在我的 VBA 语法中,如下所示:

    With DecileChooser
    Range("A1").CurrentRegion.PasteSpecial

    Range("I1").Value = CurrentPD
    Range("I2").Value = CompanyDomain


    DecileChooser.Range("J2").Formula = "=IF($I$1 > D2, G2, "")"

    Range("J2:J11").FillDown

    Range("K1").FormulaLocal = "=max(J1:J11)"

    Range("K1").Value = DecileValue
End With  

这不是整个子程序,只是操作部分。

这里的问题是代码正在读取公式中的双引号作为公式的结尾,即它读取的是:

DecileChooser.Range("J2").Formula = "=IF($I$1 > D2, G2, "

但是剩下的“)”存在语法问题

您必须使用双引号来表示您没有结束字符串。

With DecileChooser
Range("A1").CurrentRegion.PasteSpecial

Range("I1").Value = CurrentPD
Range("I2").Value = CompanyDomain

DecileChooser.Range("J2").Formula = "=IF($I$1 > D2, G2, """")"

Range("J2:J11").FillDown

Range("K1").FormulaLocal = "=max(J1:J11)"

Range("K1").Value = DecileValue
End With 

在双引号上加倍:

DecileChooser.Range("J2").Formula = "=IF($I$1 > D2, G2, """")"

或者

dq = Chr(34)
DecileChooser.Range("J2").Formula = "=IF($I$1 > D2, G2," & dq & dq & ")"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM