2014-02-20 80 views
1

我有这样的代码:Excel 2010中VBA错误1004与式

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什么想法?我已经将用户定义为“m:ss”的K列格式化了。

回答

6

有你两个选择:

  1. 使用.FormulaLocal属性:wks.Cells(z, "K").FormulaLocal = fZeit
  2. 使用逗号,作为分隔符代替分号;(即使你的本地设置需要;为非标准的分隔符):

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 
+1

它的作品...谢谢你:-) – bumblebeeman

+0

什么是笑话!我一直在寻找这个解决方案一段时间..从我的本地设置分隔符是';'这就是我在我的代码中使用.. –