Excel VBA不会循环通过工作表(排除工作表)

时间:2017-04-05 19:00:17

标签: vba excel-vba excel

宏似乎现在循环遍历所有工作表。但是,有没有一种方法可以实现它,以便宏不会应用于我的工作簿中的特定工作表,但是它是否适用于所有其他工作表?

Sub FormatSheet()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    ws.Activate
        Columns("A:J").Select
        Selection.AutoFilter
        Columns("A:J").EntireColumn.AutoFit
        With Selection
            .HorizontalAlignment = xlCenter
        End With
        With ActiveWindow
            .SplitColumn = 0
            .SplitRow = 1
        End With
        ActiveWindow.FreezePanes = True
Next ws

End Sub

2 个答案:

答案 0 :(得分:0)

我创建了一个数据集来测试它,发现代码运行得很好。因此,它必须与您的特定数据/工作表相关。我会看到2张是否有效,或者尝试在另一张工作簿上制作一个较小的样本,看看它是否有效。对不起,我没有更多的帮助。

答案 1 :(得分:0)

考虑这种方法。

Option Explicit

Sub test()

    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> "Sheet1" Then
            With ws.UsedRange
                .Resize(.Rows.Count-1).Offset(1, 0).ClearContents
            End With
        End If
    Next ws

End Sub