- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试做的事情:
如果存在未命名为“宏”的工作表 > 使用 MsgBox 提示用户 > 如果是,则删除所有未命名为“宏”的工作表
但只显示 MsgBox 一次 (如果存在多于 1 个工作表,则不显示每个工作表的 MsgBox)
当前代码有问题:
当“宏”是唯一存在的工作表时,仍然会收到 MsgBox 提示。
当前代码:
Sub reset()
Dim conditionMet As Boolean
Dim answer As Integer
conditionMet = FALSE
answer = MsgBox("There Is already data here. Click Yes To delete reset macro.", vbQuestion + vbYesNo)
Application.DisplayAlerts = FALSE
For Each Sheet In ThisWorkbook.Worksheets
If Sheet.Name <> "Macro" Then
conditionMet = TRUE
Else
Exit Sub
End If
Next Sheet
If conditionMet Then
If answer = vbYes Then
Sheet.Delete
Else
Exit Sub
End If
Else
Exit Sub
End If
Application.DisplayAlerts = TRUE
End Sub
最佳答案
这是一种方法:
Const KEEP_THIS As String = "Macro"
Dim ws As Worksheet
On Error Resume Next
Set ws = ThisWorkbook.Sheets(KEEP_THIS)
On Error GoTo 0
If ws Is Nothing Or ThisWorkbook.Worksheets.Count = 1 Then Exit Sub 'no "Macro" sheet
If MsgBox("Delete all data sheets?", vbQuestion + vbYesNo) <> vbYes Then Exit Sub
'remove all non-Macro sheets
For i = ThisWorkbook.Worksheets.Count To 1 Step -1
With ThisWorkbook.Worksheets(i)
If .Name <> KEEP_THIS Then .Delete
End With
Next i
关于excel - 如何在 For Each 循环之外创建一个 vbYesNo MsgBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66270204/
尝试寻找答案,但都太简单,或者不符合我的需要。我有一个消息框,并且它可以正确显示信息。我有一个"is"和“否”按钮。我想要一个计时器,这样当计时器用完时,它就会继续。如果有人点击"is",它会继续执行
尝试搜索答案,都太简单了,或者不符合我的需要。我有一个消息框,我让它正确显示信息。我有一个是和否按钮。我想要一个计时器,所以当计时器用完时,它会继续。如果有人点击是,它会继续执行代码,如果他们点击否,
我正在尝试做的事情: 如果存在未命名为“宏”的工作表 > 使用 MsgBox 提示用户 > 如果是,则删除所有未命名为“宏”的工作表 但只显示 MsgBox 一次 (如果存在多于 1 个工作表,则不显
标题不言而喻。 这是一个例子 这是我正在使用的代码行。 If MsgBox("Are you sure?", vbYesNo) = Yes Then Exit Sub 我也在使用 EXTRA! X-t
我正在尝试在 vba 中获取一个消息框,以显示为常规的 yes no 框: 但也有感叹号图标: 我可以通过 vba 轻松完成。就像下面的 vbExclamation 版本代码: MsgBox "Are
我是一名优秀的程序员,十分优秀!