2014-02-20 79 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

什麼是笑話!我一直在尋找這個解決方案一段時間..從我的本地設置分隔符是';'這就是我在我的代碼中使用.. –