処理によるエラー : Excel(エクセル)

処理中によくあるエラーとしては、「数値のオーバーフロー」、「0で割り算をしょうとした」、「配列の要素が超えた」など沢山あります。このようなバグをデバッグするのは、極端なデータで実行したり、順番どうりでない順序でテストしたりすることが必要です。又、Debug.Print などで結果を表示させ確認することも有用です。

Excel Tipsメニューに戻る

スポンサーリンク






エラーによる中断

下では、Findメソッドを実行したが、シートに何も入力されていなくてエラーが発生しています。
エラーが発生

デバッグ」ボタンをクリックすると、エラーの行が反転します。
デバッグ

この場合は、シートに何も入力されていない時を考えVBAを修正します。
修正するには、メニューの「実行」-「リセット」で動作を停止してください。

スポンサーリンク


VBAの修正

下のように On Error 文を使いエラー処理を追加します。

'最終セル位置を取得する
Public Sub GetLastCell()
    Dim s1 As String

    'エラーが発生すると ErrExit へジャンプ
    On Error GoTo ErrExit
    ActiveSheet.Cells.Find(What:="*", LookAt:=xlWhole, _
      SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select
    s1 = "セル位置:" & ActiveCell.Address & _
      " 行:" & ActiveCell.Row & " 列:" & ActiveCell.Column
    MsgBox "最終位置は " & s1
    'プロシージャから抜けます。
    Exit Sub
ErrExit:
    MsgBox "なにも入力されていませんでした。"
End Sub

Excel実行結果

シートに何も入力されていない時、メッセージが表示されます。
メッセージ

スポンサーリンク







Excel Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved