gpt4 book ai didi

vba - 如果工作表在数组中,请不要删除它

转载 作者:行者123 更新时间:2023-12-04 21:21:21 24 4
gpt4 key购买 nike

Dim L As Double
Dim Workings() As Variant

Workings = Array("Due SO not Billed", "Working Paper", "Ageing Over 14 Days")

On Error Resume Next
Application.DisplayAlerts = False

For L = 1 To Worksheets.Count
If Worksheets(L).Name <> Workings Then
Worksheets(L).Delete
Exit For
End If
Next L

Application.DisplayAlerts = True
On Error GoTo 0

我试着写上面的代码。目的是我在一个工作簿中有 10 个工作表,但最终输出只需要 3 个工作表,我想删除其余的工作表。我用数组尝试了上面的代码,应该保存我在数组中给出的任何名称,并且应该删除所有其他剩余的工作表。我收到类型不匹配错误。有人可以帮忙吗?

最佳答案

使用Match测试工作表的 Name在数组中:

Dim Workings() As Variant
Dim ws As Worksheet

Workings = Array("Due SO not Billed", "Working Paper", "Ageing Over 14 Days")

Application.DisplayAlerts = False
For Each ws In Worksheets
If IsError(Application.Match(ws.Name, Workings, False)) Then
ws.Delete
End If
Next
Application.DisplayAlerts = True

关于vba - 如果工作表在数组中,请不要删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47746106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com