自分がよく見直す制御ステートメントを載せておきました。

1.Select

Sub example301(i As Integer)
    Dim sht As Worksheet

    Set sht = Me

    Select Case i
        Case 0
            sht.Cells(5, 5) = "AAA"
        Case 1
            sht.Cells(6, 6) = "BBB"
        Case Else
            MsgBox "Case Elseが無いとCaseに一致しなかった場合End Selectの後を実行。"
            Exit Sub
    End Select
End Sub

2.For Each

Sub example302()
    Dim shp As Shape
    
    For Each shp In ActiveSheet.Shapes
        MsgBox shp.Name
    Next shp                        '<= shpは省略可
End Sub

3.Do...Loop

  • 構文
    Do [{While | Until} condition]
    [statements]
    [Exit Do]
    [statements]
    
    Loop
    
  • または、次の構文を使用できます。
    Do
    [statements]
    [Exit Do]
    [statements]
    
    Loop [{While | Until} condition]
    
Sub example303()
    Dim Check As Boolean
    Dim Counter As Integer

    Check = True: Counter = 0          ' 変数を初期化します。
    Do    ' 外側のループ。
        Do While Counter < 20          ' 内側のループ。
            Counter = Counter + 1      ' カウンタを増やします。
            If Counter = 10 Then       ' 条件が True であれば
                Check = False          ' フラグの値を False に設定します。
                Exit Do                ' 内側のループから抜けます。
            End If
        Loop
    Loop Until Check = False           ' 外側のループから抜けます。
End Sub

4.エラー処理

  1. ) エラー関連ステートメント
    On Error ステートメント説明
    On Error GoTo line引数 line に指定した行から始まるエラー処理ルーチンを有効にします。
    On Error Resume Nextエラーが発生したステートメントの次のステートメントから実行を継続します。
    On Error GoTo 0現在のプロシージャに含まれる使用可能なエラー処理ルーチンを無効にします。
     
    • エラー変数
      err
      メソッド内容
      Clearerr変数のクリアー。
      Raiseエラーを意図的に発生させる。
       
      プロパティー内容
      Descriptionエラーの内容。
      HelpContextヘルプファイル中のID。MsgBoxで使用。
      HelpFileエラーのヘルプファイル。MsgBoxで使用。
      LastDllError最後にエラーが発生したDll
      Numberエラー番号
      Sourceエラーが発生したソース
  2. ) エラー処理の例
    Sub example304()
        Dim msg As String
        On Error GoTo ErrHandler
       :
        処理
       :
        Exit Sub
    
    ErrHandler:
        msg = "エラーNo:" & Err.Number & "  " & Err.Source & _
        " でエラーが発生しました。" & vbCr & Err.Description
        MsgBox msg, vbCritical + vbMsgBoxHelpButton, "エラー", Err.HelpFile, Err.HelpContext
        Err.Clear
    
       :
        エラー処理
       :
        End
    End Sub
    

最終更新のRSS
Last-modified: 2014-03-11 (火) 01:58:42 (3699d)