2012-10-18 4 views
0
내가 Excel 파일에서 각 워크 시트에 대해 한 번에을 다음 VBA 코드 를 실행하려는

:은 어떻게 Excel에서 모든 워크 시트에 동일한 코드를 실행하는

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 

내가 어떻게 할 수 있습니까? 이처럼

+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 
+0

+1 정확하고 간결한 답변 –

1

, 처음으로 Application.ScreenUpdating 사용 = False를 추가하고 마지막에 진정한 Application.ScreenUpdating 사용 =이 훨씬 더 빨리 갈 수 있도록.

관련 문제