Как изменить созданий макрос, который можно легко применить сразу к нескольким листам. А то каждый раз когда создаю макрос нужно вручную активировать на каждый лист. Поискал здесь, но применить не могу Вкратце Нужен шаблон (шапка) на определение листи куда будут вставлятса макрос записаний автоматом.
Dim i as Integer
For i = 1 To Sheets.Count
If Worksheets(i).Name = <<здесь критерий для отбора листов из их названия>> Then
ВЫПОЛНЯЕМЫЙ МАКРОС
End If
Next i
2 qweewert Ну по какому принципу Вы решаете на каких из листов выполнять макрос? Или нужно на всех листах, содержащих слово "Точка"? Всегда будет слово "Точка"?
Вот для Вашего случая (Ваш макрос переделывать не стал) без покраски ячейки
Код
Sub Macro1()
'
' Macro1 Macro
Dim i As Integer
For i = 1 To Sheets.Count
If Worksheets(i).Name Like "Точка*" Then
Worksheets(i).Activate
Rows("18:18" ;) .Select
Selection.Ins ert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A18" ;) .Select
ActiveCell.FormulaR1C1 = "Текст 10-1"
Range("A19" ;) .Sele ct
End If
Next i
Worksheets("Цена" ;) .Activate
End Sub
Тогда, скажите мне: на каких листах нужно (или на каких листах НЕ нужно) выполнять макрос. М.б. такое, что выполнять на всех листах кроме "Цена" и "Итог"?
Sub Macro1()
For Each sh In Sheets(Array("точка1", "точка2", "точка3"))
sh.Rows(18).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
sh.Range("A18").FormulaR1C1 = "Текст 10-1"
Next
End Sub
фрилансер Excel, VBA - контакты в профиле "Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Sub Macro1()
Dim iList As Variant
Dim i As Integer
iList = Array("Точка1", "Точка2", "Точка3")
For i = 0 To UBound(iList)
Sheets(iList(i)).Activate
Rows("18:18").Select
Selection.Ins ert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A18").Select
ActiveCell.FormulaR1C1 = "Текст 10-1"
Range("A19").Select
Next
End Sub
Ок! Макрос нужно выполнить только на 3 листах? Вот есть книга с листами "Зима", "Лето", "Осень", "Весна". Что для Вас послужит причиной выполнения макроса на каких-либо (каком-либо) из перечисленных листов?
Например мне нужно на листе Зима добавить несколько строк, заполнить их, и тоже само проделать к листам Лето, Осень, Весна..... Ето идентичные листи!!!
Поэтому я записываю авто макрос на листе Зима и потом на каждом листе его запускаю. Если листов много и там много формул, то процедура ето не оч. быстрая.
Мне нужно записав авто макрос на одном листе бистро переделать его на запуск на только определенных листах,