我有这个代码:

Dim fStrecke As String
fStrecke = "=A" & z & "*B" & z & "*C" & z
wks.Cells(z, "L").Formula = fStrecke

Dim fZeit As String
fZeit = "=IF(ISBLANK(H" & z & ");((A" & z & "*B" & z & "*I" & z & ")-I" & z & ")+(A" & z & "*B" & z & "*J" & z & ");(A" & z & "*B" & z & "*H" & z & "))"
wks.Cells(z, "K").Formula = fZeit

第一个公式有效,第二个我收到运行时错误 1004。知道吗?我已将 K 列格式化为用户定义的“m:ss”。

最佳答案

有两种选择:

  • 使用 .FormulaLocal 属性:wks.Cells(z, "K").FormulaLocal = fZeit
  • 使用逗号 , 作为分隔符而不是分号 ; (即使您的本地设置需要 ; 作为标准分隔符):

  • fZeit = "=IF(ISBLANK(H" & z & "),((A" & z & "*B" & z & "*I" & z & ")-I" & z & ")+(A" & z & "*B" & z & "*J" & z & "),(A" & z & "*B" & z & "*H" & z & "))"
    wks.Cells(z, "K").Formula = fZeit
    

    关于带有公式的 Excel 2010 VBA 错误 1004,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21907106/

    10-13 08:01