1

我想知道 VBA case 语句是否会运行不止一行代码:

Const HARD = 30

Select Case Hardness

  Case "Hard"
    If PenetrationRate.Cells(i, 1) >= Hard Then
      Total = Total + Metres.Cells(i, 1)
      DoEvents
    End If

   Case "Soft"
     If PenetrationRate.Cells(i, 1) < Hard Then
       Total = Total + Metres.Cells(i, 1)
       DoEvents
     End If

End Select
4

1 回答 1

2

是的。

当您的Select Case语句找到匹配的 case 时,它​​将运行所有代码,直到它成为 newCaseEnd Select.。您可以在每个 case 中嵌套循环或任何其他类型的编码结构。

过于清楚的是,对于您的代码Hardness = "Hard",case 语句将在何时运行:

If PenetrationRate.Cells(i, 1) >= Hard Then
   Total = Total + Metres.Cells(i, 1)
   DoEvents
End If

以及Hardness = "Soft"case 语句何时运行:

If PenetrationRate.Cells(i, 1) < Hard Then
    Total = Total + Metres.Cells(i, 1)
    DoEvents
End If
于 2012-07-23T03:09:11.297 回答