如何在Excel文件中的所有工作表上运行相同的代码

时间:2012-10-18 10:10:08

标签: vba excel-vba spreadsheet excel

我想在Excel文件中一次为每个工作表执行以下VBA代码

Sub sample_code()    
    Columns("B:B").Select
    Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Range("A:A,D:J").Select
    Range("D1").Activate
    Selection.Delete Shift:=xlToLeft
    Columns("F:P").Select
    Selection.Delete Shift:=xlToLeft
    Columns("A:E").EntireColumn.AutoFit
    Columns("B:B").ColumnWidth = 30.86
    Range("A1:E1").Select
    Selection.Font.Bold = True
End Sub

我该怎么做?

2 个答案:

答案 0 :(得分:5)

像这样:

Sub sample_code()
    Dim ws As Worksheet

    For Each ws In Worksheets
        With ws
            .Columns("B:B").Replace What:=" ", Replacement:="", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False
            .Range("A:A,D:J").Delete Shift:=xlToLeft
            .Columns("F:P").Delete Shift:=xlToLeft
            .Columns("A:E").EntireColumn.AutoFit
            .Columns("B:B").ColumnWidth = 30.86
            .Range("A1:E1").Font.Bold = True
        End With
    Next ws
End Sub

答案 1 :(得分:1)

此外,将Application.ScreenUpdating = False添加到开头,将Application.ScreenUpdating = True添加到最后,以使其更快。