2015-12-15 11 views
0

Я пытаюсь ввести формулу в ячейку после вставки строки. И VBA не хочет этого и возвращает ошибку.Формула VBA Excel, ошибка 1004

Сначала я скопировал формулу с листа excel (с «;» в качестве разделителей), и, как я видел на других потоках, я заменяю их на «,».

Я не понимаю, почему я получаю ошибку.

Sub Borderx() 
Dim nboc As Integer 
Dim ipaste As Integer 


nboc = Worksheets("BDD").Range("IQ2").Value 


For ipaste = 1 To nboc - 1 
    Worksheets("Bordereaux").Range("B14").EntireRow.Insert 
    Worksheets("Bordereaux").Range("T14").Formula = "=IF(AND(J14="",E14=""),SUM(F14*F14*H14)/1000,IF(O14="",SUM((H14*F14*G14)+(M14*K14*L14))/1000,SUM((H14*F14*G14)+(M14*K14*L14)+(R14*P14*Q14))/1000))" 

    Next ipaste   
End Sub 

В этом случае nboc = 2, и предполагается, что он должен вставить одну строку. Прежде чем я добавил «если» заявление, она работала хорошо, когда это было просто сумма()

+1

в формуле, каждый раз, когда вы используете '«»' вы должны использовать двойные кавычки, поэтому используйте '' "" "' вместо этого. –

+0

спасибо, он работает. –

ответ

0

Изменить это следующим образом:

Worksheets("Bordereaux").Range("T14").Formula = " =IF(AND(J14="""",E14=""""),SUM(F14*F14*H14)/1000,IF(O14="""",SUM((H14*F14*G14)+(M14*K14*L14))/1000,SUM((H14*F14*G14)+(M14*K14*L14)+(R14*P14*Q14))/1000))" 
Смежные вопросы