Как передать целочисленную переменную в формулу VBA

У меня возникли проблемы с этим кодом, который я написал:

Sub lol()

Dim counter As Integer

counter = 1

Do Until Selection.Value = ""
    Dim ws As Worksheet
    Sheets("Row1").Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    Set ws = ActiveSheet



    Sheets("Sheet1").Select
    ws.Name = "Row " + CStr(ActiveCell.Value)
    Set newSelection = ActiveCell.Offset(1, 0)

    ws.Select
    ActiveCell.FormulaR1C1 = "=Sheet1!R[counter]C[1]"
    ws.Range("A1").Select
    Selection.AutoFill Destination:=ws.Range("A1:C1"), Type:=xlFillDefault
    ws.Range("A1:C1").Select
    Sheets("Sheet1").Select
    newSelection.Select

    counter = counter + 1

    Loop

    ActiveCell.Offset(-1, 0).Select

    MsgBox ("All sheets updated")


End Sub

Я получаю сообщение об ошибке при запуске этой строки:

ActiveCell.FormulaR1C1 = "=Sheet1!R[counter]C[1]"

Но я не уверен почему. Я определил эту переменную как целое число, и поэтому я не понимаю, почему она не будет работать. Если я уберу счетчик и вместо этого просто напишу «= Sheet1! R [1] C [1]», он будет работать нормально, поэтому я знаю, что здесь должно быть целое число. (Проблема, в частности, в том, что это всегда будет одна и та же строка, но мне нужно, чтобы она отбрасывала по одной строке для каждой итерации, поэтому я создал переменную counter, но на самом деле не понимаю, почему она не будет работать. Любые мысли? (Это то, что я неправильно определил тип переменной, или это просто не семантически право делать то, что я пытаюсь сделать?)

Ответы на вопрос(1)

Ваш ответ на вопрос