gpt4 book ai didi

从下拉列表更改工作表时 VBA 崩溃

转载 作者:行者123 更新时间:2023-12-04 20:48:00 28 4
gpt4 key购买 nike

我有一个带有关联宏的下拉列表,如下所示:

Sub Drop()
If Range("Hidden1!A1") = "1" Then
Sheets("Sheet1").Select
End If
If Range("Hidden1!A1") = "2" Then
Sheets("Sheet2").Select
End If
If Range("Hidden1!A1") = "3" Then
Sheets("Sheet3").Select
End If
End Sub

这使我的 Excel 2010 完全崩溃,并想向 Microsoft 发送报告。关于如何重写它以使其不会崩溃的任何想法,还是 Excel 错误?

最佳答案

桑多斯,

如您所述,我能够重现该问题。在 sub 的开头添加 DoEvents 命令修复了它。使用它们所属的工作簿来限定工作表名称和范围也是一个好主意,例如 ThisWorkbook.Sheets(1).Range("A1")。此外,您实际上并不需要所有这些 If Endif 语句(如果您需要一个长 If、ElseIf、Elseif、End)。无论如何,您可以忽略这些评论,只需将 DoEvents 放在开头,它应该可以工作:

Sub Drop()
DoEvents
With ThisWorkbook
.Worksheets("Sheet" & .Worksheets("Hidden1").Range("A1")).Select
End With
End Sub

关于从下拉列表更改工作表时 VBA 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4635339/

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