Я использую Excel 2013 & Я собираю макрос для автоматизации копирования/вставки фактических данных в несколько листов (один лист на сайт, ~ 80 нечетные сайты, в книге также есть ряд других листов, которые я не хочу касаться) от E6: E157 до столбца справа (этот столбец зависит от того, за какой месяц данные данные). У меня есть код для бита copy/paste (см. Ниже), но я не могу заставить его проходить через листы.Как я могу пройти через (конкретный) список рабочих листов
Dim month As Integer
month = Sheets("Group Incl Others").Range("b2")
Sheets("Group Incl Others").Select
Range("e6:e157").Select
Selection.Copy
ActiveCell.Offset(0, (13 + month)).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
То, что я хотел бы сделать, это предоставить макрос со списком листов для работы через (либо в скрытом листе или в самом коде) & это шаг по списку, делающего копию & пасты. Это (справедливый) статический список листов & будет меняться только при приобретении новых сайтов. Помимо первого листа, который я хочу обработать (Group Incl Others), листы находятся в смежной группе.
Я пробовал несколько предложений отсюда & других сайтов, но он никогда не переходит к следующему листу. Я не использовал VBA в течение очень долгого времени, поэтому я немного потерял, как продолжить.
Спасибо, я дам это вращение. Источник - это диапазон e6: e157 на каждом листе, а цель - 14-25 столбцов справа (апрель - месяц 1 в нашем отчетном году и, следовательно, 14 столбцов справа, май - месяц 2 и 15 столбцов справа , и т. д.), поэтому, вероятно, это будет второй вариант. Лист «Group incl others» просто является первым листом, который нужно отредактировать. – PaulJ
@PaulJ - Ты прав. Это должен был быть второй вариант. Если * mnth * в B2 изменится для каждого листа, то это должно быть перемещено внутри 'With ... End With' и изменено на' mnth = .Range ("b2"). Value'. – Jeeped
Он подходит с «индексом вне диапазона» на битах With Sheets (rWS.Value). – PaulJ