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ケースを見つけると、それが newCaseまたはEnd Select.. になるまですべてのコードを実行します。各ケース内にループまたはその他の種類のコーディング構造をネストできます。

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 に答える