我試圖循環遍歷工作簿中的每個工作表,但它不工作。我認爲這是ActiveWorkbook.Worksheets不能識別每個工作表,只能在Active工作表上運行。任何建議都會很棒!我相信這是一個基本的修復,但似乎無法弄清楚。謝謝!循環遍歷工作簿中的每個工作表
Sub LoopThroughWorksheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If (ws.Name <> "Sheet1") And (ws.Name <> "Sheet2") And (ws.Name <> "Sheet8") And (ws.Name <> "Sheet42") Then
With ws
'code
'Sheets("Formula").Select
Range("FormulaRow").Copy
'Selection.Copy
ActiveSheet.Select
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
Calculate
Range("Q1:X1").Select
Selection.Copy
Range("Q3:X3000").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Calculate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
End If
Next ws
End Sub
「我認爲這是不承認每個工作表的ActiveWorkbook.Worksheets」:這是很好的有一個理論,這可能解釋的問題。爲什麼不向你的循環添加一些代碼來顯示在每次迭代中ActiveSheet實際上是在變化的呢? – MartynA 2014-10-27 21:50:56
我可以看到它在每次迭代中都沒有變化,這就是我爲什麼這麼想的原因。謝謝。 – 2014-10-27 22:07:46