Как выбрать все активные листы? - PullRequest
0 голосов
/ 14 февраля 2020

Все хорошо. Единственная ошибка, которую я получаю, это выбор. Как выбрать все активные листы, кроме указанных c листов? Я хочу, чтобы макрос работал на всех активных листах.

У меня есть код макроса ниже, и, пожалуйста, дайте мне знать, что я могу сделать. Я все еще любитель превосходить VBA, но я делаю все возможное, чтобы узнать больше, поэтому я могу делать больше.

Sub Macro1()
'
' Macro1 Macro
'

'
    Columns("A:XFD").Select
    Range("A3").Activate
    Sheets(Array("Sheet1", "1191", "41", "16", "1223")).Select
    Sheets("1191").Activate
    Columns("A:XFD").Select
    Range("A3").Activate
    Range(Selection, Selection.End(xlToRight)).Select
    Range("C15").Select
    Sheets("Sheet1").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets(Array("1191", "41", "16", "1223")).Select
    Sheets("1191").Activate
    ActiveWindow.SmallScroll Down:=-9
    Range("D4").Select
    Sheets(Array("1191", "41", "16", "1223")).Select
    Sheets("1191").Activate
    Range("C4").Select
    Rows("2:2").EntireRow.AutoFit
    Range("D3").Select
    Sheets(Array("41", "16", "1223")).Select
    Sheets("41").Activate
    Rows("4:4").Select
    Range(Selection, Selection.End(xlUp)).Select
    Range(Selection, Selection.End(xlUp)).Select
    Range(Selection, Selection.End(xlUp)).Select
    Range("A4").Select
    ActiveWindow.SmallScroll Down:=-15
    Sheets(Array("41", "16", "1223")).Select
    Sheets("16").Activate
    ActiveWindow.SmallScroll Down:=-15
    Range("D17").Select
    Sheets(Array("41", "16", "1223")).Select
    Sheets("1223").Activate
    ActiveWindow.SmallScroll Down:=-15
    Sheets(Array("1191", "41", "16", "1223")).Select
    Sheets("1191").Activate
    Rows("2:2").Select
    Selection.RowHeight = 34.5
    Range("B3").Select
    Rows("3:3").RowHeight = 60
    Rows("4:4").RowHeight = 106.5
    Rows("4:4").RowHeight = 126
    Rows("5:5").RowHeight = 113.25
    Columns("A:A").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.ColumnWidth = 4.71
    Cells.EntireColumn.AutoFit
    Columns("C:C").Select
    Selection.EntireColumn.Hidden = True
    Columns("G:G").Select
    Selection.EntireColumn.Hidden = True
    Range("D4").Select
    Sheets("1191").Select
    Range("D4").Select
    Cells.Replace What:="Unavailable", Replacement:="", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    With Application.ReplaceFormat.Interior
        .PatternColorIndex = xlAutomatic
        .Color = 6053069
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Cells.Replace What:="", Replacement:="", LookAt:=xlWhole, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
    Range("D4").Select
    ActiveWindow.SmallScroll Down:=-24
    Sheets(Array("1191", "41", "16", "1223")).Select
    Sheets("1191").Activate
    Range("B4:F4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("D3").Select
    Sheets("1191").Select
    Range("D4").Select
End Sub

1 Ответ

0 голосов
/ 14 февраля 2020

За исключением имени листа, которое вы хотите исключить, поместите имя листа в массив, а затем выберите лист в качестве массива.

Sub test()
    Dim Ws As Worksheet
    Dim vR() As Variant
    Dim n As Integer
    For Each Ws In Worksheets
        If Ws.Name <> "Except Sheet Name" Then
            n = n + 1
            ReDim Preserve vR(1 To n)
            vR(n) = Ws.Name
        End If
    Next Ws
    Sheets(vR).Select
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...