Страницы: 1
RSS
Вполнение макроса на все листы, одни и те же комманды
 
Доброго вечера всем. Вроде и мелочь но для меня это как познание с галактикой. Вот записал макрорекодером команду

Код
Sub test()
    Range("L11:U41,L56:U86,L101:U131,L146:U176,L191:U221,L236:U266").Select
    Selection.ClearContents
End Sub

Надо чтобы макрос выполнялся на всех видимых листах (спрятанных не трогать). Думаю файл от этого не надо будет но на всякий случай прицепил хотя там ничего нет кроме самого макроса.

 
Код
Sub tt()
'Цикл по листам книги, кроме скрытых и очень скрытых 
Dim Sht As Worksheet                                 
 For Each Sht In Worksheets                         
   With Sht
    If Not Sht.Visible = xlSheetHidden And Not Sht.Visible = xlSheetVeryHidden Then
      .Range("L11:U41,L56:U86,L101:U131,L146:U176,L191:U221,L236:U266").ClearContents
    End If
   End With
 Next
End Sub
Изменено: Kuzmich - 25.11.2019 22:50:51
 
Kuzmich,
Код
If Sht.Visible = xlSheetVisible Then
)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, конечно так проще
 
Kuzmich, Ігор Гончаренко, Большое вам спасибо все отлично работает. Но появилась новая задачка, пытался сделать но в чем то я ошибаюсь. Пробовал вот так
Код
Sub tt()
'Цикл по листам книги, кроме скрытых и очень скрытых 
Dim Sht As Worksheet                                 
 For Each Sht In Worksheets                         
   With Sht
    If Sht.Visible = xlSheetVisible Then
      .Range("EO3:FK5,FN2:GB10").Select
       Selection.Value = Selection.Value     
    End If
   End With
 Next
End Sub
вот сяк
Код
Sub tt()
'Цикл по листам книги, кроме скрытых и очень скрытых 
Dim Sht As Worksheet                                 
 For Each Sht In Worksheets                         
   With Sht
    If Sht.Visible = xlSheetVisible Then
      Range("EO3:FK5").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("FN2:GB10").Select
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End If
   End With
 Next
End Sub
Прошу не судите строго, пытаюсь понять закономерность этого корешка макроса который должен выполнить задачу на каждый видимый лист. Ну т.е. в диапазонах EO3:FK5 и FN2:GB10 имеются формулы в которых надо оставить только выполненное формулой значение.
Изменено: albert123 - 27.11.2019 21:38:02
Страницы: 1
Наверх