我试图循环遍历工作簿中的每个工作表,但它不工作。我认为这是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