我得到了第二个代码块的"运行时错误16:表达太复杂".我在网上看到,嵌套表达式的最大允许数量是8,但如果嵌套语句是由每个"选择案例"定义的,那么我还没有点击它.是否可能是因为案例依赖于变量?第一个代码块显示egapend的可能值,而第二个代码块显示返回错误的代码.在此先感谢您的帮助.
第一:
Select Case ge1e2
Case Is <= 0
Select Case ge2e3
Case Is <= 0
egap18a = 0
egap18b = 0
Case Is > 0
egap18a = 0
egap18b = ge2e3
egapend = Sheet1.[z1IE]
End Select
Case Is > 0
Select Case ge2e3
Case Is <= 0
egap18a = ge1e2
egap18b = 0
egapend = Sheet1.[z1CZ]
Case Is > 0
Select Case ge1e2
Case Is >= 180
egap18a = ge1e2
egap18b = ge2e3
egapend = Sheet1.[z1CZ]
Case Is < …Run Code Online (Sandbox Code Playgroud) 我有以下代码来搜索日期列表并删除与两年前的日期相关联的任何行.当我跑步时,excel冻结.我是VBA的新手,并且认为我可能对使用这个特定的循环有一个概念上的误解:
Sub DeletePriorDates()
'Delete any dates before two years past
Dim twoyrpast As Date
Dim c As Range
Dim DataRange As Range
Set DataRange = Sheet6.Range("A:A")
twoyrpast = DateAdd("yyyy", -2, Sheet1.[B].Value)
For Each c In DataRange
If c < twoyrpast Then c.EntireRow.Delete
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
当我停止运行宏时,调试器突出显示"下一步".我尝试过Next的不同迭代,在线代码看起来几乎完全相同.我找不到我做错了什么.