So übergeben Sie eine Ganzzahlvariable an eine VBA-Formel

Ich habe ein paar Probleme mit diesem Code, den ich geschrieben habe:

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

Ich erhalte eine Fehlermeldung beim Ausführen dieser Zeile:

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

Aber ich bin nicht sicher warum. Ich habe diese Variable als Ganzzahl definiert und verstehe daher nicht, warum sie nicht funktioniert. Wenn ich den Zähler entferne und stattdessen einfach "= Sheet1! R [1] C [1]" schreibe, funktioniert es einwandfrei, sodass ich weiß, dass das Ding dort eine Ganzzahl sein muss. (Das Problem dabei ist insbesondere, dass es immer dieselbe Zeile sein wird, aber ich muss für jede Iteration eine Zeile löschen, weshalb ich die Zählervariable erstellt habe, aber nicht wirklich verstehe, warum es nicht funktioniert. Irgendwelche Gedanken? (Habe ich den Variablentyp falsch definiert oder ist das semantisch einfach nicht das Richtige, um das zu tun, was ich versuche?)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage