[英]Type mismatch: How to clear contents for all worksheets except ones specified?
I have many sheets in the same workbook that I would like to clear before performing the rest of the macro.在执行宏的其余部分之前,我想在同一个工作簿中清除许多工作表。
I have been using the following:我一直在使用以下内容:
Sheets("1710").Select
Sheets("1710").Cells.Select
Selection.ClearContents
Sheets("BPL1710").Activate
Sheets("BPL1710").Cells.Select
Selection.ClearContents
Sheets("1711").Select
Sheets("1711").Cells.Select
Selection.ClearContents
Sheets("BPL1711").Activate
Sheets("BPL1711").Cells.Select
Selection.ClearContents
Sheets("1713").Select
Sheets("1713").Cells.Select
Selection.ClearContents
Sheets("BPL1713").Activate
Sheets("BPL1713").Cells.Select
Selection.ClearContents
Sheets("1714").Select
Sheets("1714").Cells.Select
Selection.ClearContents
Sheets("BPL1714").Activate
Sheets("BPL1714").Cells.Select
Selection.ClearContents
Sheets("1715").Select
Sheets("1715").Cells.Select
Selection.ClearContents
Sheets("BPL1715").Activate
Sheets("BPL1715").Cells.Select
Selection.ClearContents
Sheets("1716").Select
Sheets("1716").Cells.Select
Selection.ClearContents
Sheets("BPL1716").Activate
Sheets("BPL1716").Cells.Select
Selection.ClearContents
Sheets("1717").Select
Sheets("1717").Cells.Select
Selection.ClearContents
Sheets("BPL1717").Activate
Sheets("BPL1717").Cells.Select
Selection.ClearContents
How can I use a for loop to minimize the amount of lines used?如何使用 for 循环来最小化使用的行数?
In all there are 4 sheets whose contents I do not want cleared.总共有 4 张我不想清除其内容的工作表。
This is where I'm at:这就是我所在的位置:
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Sheet1" Or "RawData" Or "TheButton" Then
ws.Cells.Select
Selection.ClearContents
Else
End If
Next
I would use Select...Case
我会使用
Select...Case
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Sheet1", "RawData", "TheButton"
' skip
Case Else
ws.Cells.ClearContents
End Select
Next
Try below loop-试试下面的循环 -
Sub ClearSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If (ws.Name <> "Sheet1") Or (ws.Name <> "RawData") Or (ws.Name <> "TheButton") Then
ws.Cells.ClearContents
End If
Next
End Sub
You can try this你可以试试这个
Option Explicit
Sub ClearSheets()
'Clear All Except One Sheet
Dim ws As Worksheet
For Each ws In Application.ActiveWorkbook.Worksheets
If ws.Name <> " Your Specific Sheet Name Here " Then
ws.Cells.Clear
End If
Next
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.