excel - 删除所有可见工作表,但特定工作表
问题描述
我对以下代码有疑问。
当用户关闭工作簿时,我想删除除特定工作表之外的所有可见工作表。这是代码:
Private Sub workbook_BeforeClose(cancel As Boolean)
Dim ws As Worksheet
For Each ws In Workbook
If ws.Visible = xlSheetVisible Then
If ws.Name <> "Choose BU" Then ws.Delete
End If
Next ws
End Sub
它说“需要对象”,但是我认为默认的工作表是 VBA 中的对象?
解决方案
你可以试试:
Option Explicit
Sub test()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Worksheets
With ws
If .Visible = True And .Name <> "Choose BU" Then
.Delete
End If
End With
Next ws
Application.DisplayAlerts = True
End Sub
推荐阅读
- python - Django中的外键POST
- javascript - 使用 yarn start 或 npm start 无法在浏览器中打开 React 应用程序
- c++ - 检查哪个对象调用了对方的对象方法
- apache-flink - Kinesis Streams 和 Flink
- python - 如何以所有可能的组合在多个文件之间获取公共行/列 - python/pandas
- java - 数组排序 NullpointerException
- zebra-printers - ZPL 批量打印船标签问题...内存限制?
- windows - 如何使用 PowerShell(UTF-8 文件名)扩展 ZIP 存档
- java - 将 LinkedList 附加到另一个的本机 Java 方法?
- wordpress - 即使页面是子页面,Wordpress 也会向 url 添加 -1