Я хочу, чтобы копир копировал один лист несколько раз. Так что я сделал недельное планирование на неделю 1. И теперь я хочу этот лист еще 51 раз. Таким образом, название должно начинаться с 2 и заканчиваться 52. Для того, чтобы сделать эту работу для й к у я сделал следующий код:VBA код excel для копирования листов ошибка
Sub Copier()
Dim a As Integer
Dim b As Integer
a = InputBox("Enter begin number for making copy's")
b = InputBox("Enter end number for making copy's")
For x = a To b
'Loop to make x number copies.
ActiveWorkbook.ActiveSheet.Copy _
Before:=ActiveWorkbook.Sheets("x")
'The name of every copied sheet is a number.
Next
End Sub
Когда я выполняю это, он дает ошибку: «Error 9 во время исполняемый. Подстрочный индекс выходит за пределы допустимого диапазона. (Я перевел его, потому что у меня есть Голландский Excel.)
Я не вижу, что не так, потому что этот код копируется с страницы Microsoft. У кого-нибудь есть идея?
Ripster это не работает. Потому что Sheets (x) ссылается на индекс листа, как сказал Энди Г. Этот индекс должен быть индексом, который я хочу скопировать. Я думал больше о Before: = ActiveWorkbook.Sheets (1) ActiveSheet.Name = "x", но thsi не работает – Glenn
То, что вы пытаетесь выполнить, неясно. Энди Г и я сказал то же самое. Я обновлю свой код, чтобы попытаться объяснить, что я думаю, что вы спрашиваете, но опять же, это мне не совсем понятно. – Ripster
Спасибо, Рипстер и Энди Г. Это сработало :) – Glenn