gpt4 book ai didi

vba - 类型与工作表名称 VBA 不匹配

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

我正在尝试编写一个简单的 VBA 代码,该代码贯穿工作簿,删除一些完整的工作表,并清除其他工作表的内容。这是我的代码:

Sub CleanSheets()
Dim x As Integer

x = 1
Do Until x = Sheets.Count
If Sheets(x).Name = "MIR - Raw" Or "MRR - Raw" Or "MWR - Raw" Or "PL - Raw" Or "SHP - Raw" Then
'clear them
Sheets(x).ClearContents
ElseIf Sheets(x).Name = "Dashboard" Then

Else
'delete the sheet
Application.DisplayAlerts = False
Sheets(x).Delete
Application.DisplayAlerts = True
x = x - 1
End If
x = x + 1
Loop
End Sub

我一直在“if sheet(x).name = ...”行上遇到类型不匹配。我对 Sheets.Names 对象不太熟悉,我如何在这里搞砸类型?

最佳答案

您的代码将正常工作。只需将 If Sheets(x).Name = "MIR - Raw"或 "MRR - Raw"或 "MWR - Raw"或 "PL - Raw"或 "SHP - Raw"更改为 如果 Sheets(x).Name = "MIR - Raw"或 Sheets(x).Name = "MRR - Raw"或 Sheets(x).Name = "MWR - Raw"或 Sheets(x).Name = "PL - Raw”或 Sheets(x).Name = “SHP - Raw”

Sub CleanSheets()
Dim x As Integer

x = 1
Do Until x = Sheets.Count
If Sheets(x).Name = "MIR - Raw" Or Sheets(x).Name = "MRR - Raw" Or Sheets(x).Name = "MWR - Raw" Or Sheets(x).Name = "PL - Raw" Or Sheets(x).Name = "SHP - Raw" Then
'clear them
Sheets(x).ClearContents
ElseIf Sheets(x).Name = "Dashboard" Then

Else
'delete the sheet
Application.DisplayAlerts = False
Sheets(x).Delete
Application.DisplayAlerts = True
x = x - 1
End If
x = x + 1
Loop
End Sub

关于vba - 类型与工作表名称 VBA 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23450658/

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