Excel 2010 VBA Ошибка 1004 с формулой

excel-vba excel-formula excel-2010 vba excel

9710 просмотра

1 ответ

У меня есть этот код:

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».

Автор: bumblebeeman Источник Размещён: 12.11.2019 09:12

Ответы (1)


8 плюса

Решение

Для вас есть два варианта:

  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
Автор: Dmitry Pavliv Размещён: 20.02.2014 12:00
32x32