2016-07-12 7 views
0

У меня есть функция, которая должна заполнить 8 строк с формулойИспользование VBA для вставки формулы в ячейке

Sub df_opbouwen() 

    num_weeks = 8 + 10 

    For i = 10 To num_weeks 

    Sheets("Blad1").Cells(i, 2).Formula = "=WEEKNUMMER(D10)" 

    Next i 

End Sub 

Однако, когда я открываю Excel, я все еще получаю ошибку #name?. Это странно, потому что когда я просто вхожу в =WEEKNUMMER(D10) в ячейку, он действительно работает.

Любые мысли о том, что здесь происходит не так?

+0

Мне интересно, что произойдет, если вы пишете это R1C1 стиль (который сократит ваш код и избежать цикла: 'С Sheets («Blad1») | .Range (.Cells (10,2). Ячейки (18,2)). Формула R1C1 = "= WEEKNUMMER (RC [2])" | End With' –

+1

@ScottHoltzman это предполагает, что OP хочет, чтобы формулы _not_ были все точки в ячейке D10, но если это намерение, то это хорошее решение. – RGA

+3

VBA - очень английский. Либо из английской версии формулы, либо с помощью '.Formulalocal' –

ответ

0

у вас есть небольшая ошибка типа:

Sub df_opbouwen() 

num_weeks = 8 + 10 

For i = 10 To num_weeks 
    Sheets("Blad1").Cells(i, 2).Formula = "=WEEKNUM(D10)" 
Next i 

End Sub 
+1

, возможно, нет - см. [WEEKNUMMER] (https://support.office. com/nl-nl/article/WEEKNUMMER-functie-e5c43a03-b4ab-426c-b411-b18c13c75340) –

+0

Но ОП намерен использовать функцию «WeekNummer» (как указано в вопросе) – RGA

+0

@ScottHoltzman Страница использует Жермен и когда Я переводил на английский язык, это переводится как WEEKNUM –

Смежные вопросы