Печатал это как комментарий, но добавлял как ответ из-за содержания.Обратите внимание, что @DisplayName дал соответствующий ответ для решения вашей проблемы.
В вашем коде вы используете Range () с неправильным синтаксисом.Вот несколько примеров соответствующих ссылок на диапазон:
Sheets("Name).Range("A1") 'Uses cell A1 on sheets Name
Sheets("Name").Cells(1,1) 'Just like the above, calls cell A1
i = 1
Sheets("Name).Range("A" & i) 'Ampersand joins the variable i (typically used to iterate through a loop) with the column "A"
Sheets("Name").Range("Cat") 'Uses a named range, where cat is predefined and is on sheets Name
With Sheets("Name")
Set rng = .Range(.Cells(1,1),.Cells(2,2)) 'Creates a range from A1 to B2... note the dots to make them use the appropriate sheet
End With
rng.value = "Cat" 'Each cell in the range will have "Cat" input