Anu*_*ngh 4 excel vba excel-vba
我有一个包含大量工作表和数据透视表的工作簿.带有数据透视表的所有工作表在工作表名称中都有Pvt Tbl.现在我想要清除所有工作表中的数据,除了带有数据透视表和控制表的工作表(我有我所有的操作按钮)我到目前为止有以下代码,但似乎没有工作.我还想让"控制"表单只能看到,其余的表格应该被隐藏.我正在使用带有"*Pvt Tbl"的Like语句在工作表名称中进行外卡搜索,但它仍然删除所有工作表中的数据透视表.任何帮助表示赞赏.提前致谢!!
Sub ClearData()
Application.ScreenUpdating = False
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If Not ws.Name Like "Control" Or ws.Name Like "*Pvt Tbl" Then ws.Cells.Delete: ws.Cells.Delete
If Not ws.Name Like "Control" Then ws.Visible = False
Next
Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)
想想你正在写的条件.
If Not ws.Name Like "Control" Or ws.Name Like "*Pvt Tbl"
Run Code Online (Sandbox Code Playgroud)
如果名称不是Control或名称以"Pvt Tbl"结尾,...
听起来你想要的条件是:
如果名称不是Control并且名称不以"Pvt Tbl"结尾,...
If Not ws.Name Like "Control" And Not ws.Name Like "*Pvt Tbl"
Run Code Online (Sandbox Code Playgroud)
人们很容易忘记,计算机总能完全按照你的要求去做.
这是通过应用De Morgan定律可能更清楚的条件之一.可能更容易理解的逻辑等效条件是:
If Not (ws.Name Like "Control" Or ws.Name Like "*Pvt Tbl")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7975 次 |
| 最近记录: |