-1
我想在每張工作表中以相同的方式格式化工作表,目前代碼工作正常,除了for each ws in workbook
部分。VBA對於每個ws只執行活動工作表上的代碼
所有的代碼執行得不錯,但只在activesheet。 我在這裏錯過了什麼?
由於提前,
Option Explicit
Sub prepareForInput()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim answer As Variant
Dim i As Integer, lastcol As Integer
answer = MsgBox("Would you like to update the tracker sheet automatically?", vbYesNo)
If answer = vbYes Then
For Each ws In ActiveWorkbook.Worksheets
Range("A1:A100").EntireRow.Hidden = False
lastcol = Cells(1, Columns.Count).End(xlToLeft).Column - 11
'hide newly unneeded columns
For i = 1 To 3
Columns(lastcol).Hidden = True
lastcol = lastcol + 1
Next i
lastcol = Cells(1, Columns.Count).End(xlToLeft).Column
'paste across columns
For i = 1 To 3
Columns(lastcol).Copy Columns(lastcol + 3)
lastcol = lastcol - 1
Next i
Next ws
End If
Application.ScreenUpdating = True
End Sub
知道我會錯過這樣簡單的東西,謝謝:) –