Vba 如何在Excel文件中的所有工作表上运行相同的代码
我想在Excel文件中一次对每个工作表执行以下VBA代码:Vba 如何在Excel文件中的所有工作表上运行相同的代码,vba,excel,spreadsheet,Vba,Excel,Spreadsheet,我想在Excel文件中一次对每个工作表执行以下VBA代码: Sub sample_code() Columns("B:B").Select Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False
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
我该怎么做呢?像这样:
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
像这样:
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
另外,在开头添加Application.screenUpdatement=False,在结尾添加Application.screenUpdatement=True,以加快此过程。此外,在开头添加Application.screenUpdatement=False,在结尾添加Application.screenUpdatement=True,以加快此过程。此代码适用于所有工作表,但更具体地说,它一次只做一个工作表。我不确定您所说的“立即”是什么意思。这段代码适用于所有工作表,但更具体地说,它一次只运行一个工作表。我不知道“立刻”是什么意思