Excel For Every ws 不会转到下一个 ws



>背景 -- 我正在使用一个工作簿,其中包含一大堆工作表和大量公式泄露的数据。我想用这段代码完成几个步骤:

  • 取消隐藏所有隐藏的行/列
  • 粘贴仅使用值/格式的所有数据。

我能够在一个工作表上成功完成这些任务,但它不会继续 - 它试图继续在同一工作表上一遍又一遍地重复相同的操作。

Sub Macro1
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
'Have also tried "For Each ws In ThisWorkbook.Worksheets at other users suggestions.
ws.Cells.Activate
ws.Cells.EntireColumn.Hidden = False
ws.Cells.EntireRow.Hidden = False
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
ws.Cells.Activate
ws.Cells.Copy
ws.Cells.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'I put these in here thinking that it might be related to the copying/pasting
'action that was prohibiting it from changing sheets.
Application.CutCopyMode = False
ws.Cells(1, 1).Select  
Next ws
End Sub

非常感谢任何帮助!!我已经从我的头上拔掉头发(字面意思(将近一周了,试图解决这个问题......我越来越绝望了!谢谢!

尝试以下操作:

Sub Macro1
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Cells.EntireColumn.Hidden = False
ws.Cells.EntireRow.Hidden = False
If ws.FilterMode Then ws.ShowAllData
ws.UsedRange.Value = ws.UsedRange.Value
Next ws
End Sub

最新更新