在我的Excel VBA宏中,我想尝试在一些嵌套的if-else语句中创建"fall through".但我还希望能够像普通的if-else语句一样运行.
我的解决方案似乎有效.这种方法有什么问题吗?
我知道使用Goto是不赞成的,但这是我能想到解决问题的唯一方法.
If fallThrough = True Then GoTo Cr1
If fallThrough = False and criteria = crit1 Then
Cr1:
'MsgBox "Criteria 1"
ElseIf fallThrough = True Then GoTo Cr2
ElseIf fallThrough = False And criteria = crit2 Then
Cr2:
'MsgBox "Criteria 2"
If fallThrough = True Then GoTo Cr3
ElseIf fallThrough = False And criteria = crit3 Then
Cr3:
'MsgBox "Criteria 3"
If fallThrough = True Then GoTo Cr4
ElseIf fallThrough = False And criteria …Run Code Online (Sandbox Code Playgroud) 有比这更好的方法吗?(假设所有的变量都等于零)
If var1 = 0 Or var2 = 0 Or var3 = 0 Or var4 = 0 Or var5 = 0 Or var6 = 0 Then
'do something
End If
Run Code Online (Sandbox Code Playgroud) 如果我有一个像这样的简单的未透视列表:
| 名称 | 科目 |
|---|---|
| 约翰 | 英语 |
| 山姆 | 艺术 |
| 弗雷德 | 生物学 |
| 约翰 | 生物学 |
| 艾玛 | 艺术 |
| 麦克风 | 生物学 |
如何创建这样的列表,其中行彼此无关,并且每列几乎都是一个单独的列表?旋转不起作用 - 这可能吗?
| 艺术 | 生物学 | 英语 |
|---|---|---|
| 艾玛 | 弗雷德 | 约翰 |
| 山姆 | 约翰 | 无效的 |
| 无效的 | 麦克风 | 无效的 |
谢谢
为什么这不起作用?运行时错误91?
Dim fornameCurr As String
Dim surnameCurr As String
Dim rowCurr As Long
rowCurr = 13
fornameCurr = Activesheet.Cells(rowCurr, 1) << ERROR HERE
surnameCurr = Activesheet.Cells(rowCurr, 2)
Run Code Online (Sandbox Code Playgroud)