ソーシャルメディア Excel 2016 VBAでOnErrorステートメントを使用する方法 - ダミー

Excel 2016 VBAでOnErrorステートメントを使用する方法 - ダミー

目次:

ビデオ: MsgBox(用來秀出方塊訊息)Value(功能用來選擇內容) 2025

ビデオ: MsgBox(用來秀出方塊訊息)Value(功能用來選擇內容) 2025
Anonim

Excel VBAでエラーを処理する必要がある場合は、OnErrorステートメントを使用できます。しかし、あなたが最初に知る必要があることがいくつかあります。 On Errorステートメントは、3つの方法で使用できます。

構文 動作内容
エラー時GoTo label このステートメントを実行すると、VBAは指定されたラベルに続く

ステートメントで実行を再開します。ラベルの後にコロン

を含めて、VBAがそれをラベルとして認識できるようにする必要があります。

On Error GoTo 0 このステートメントを実行すると、VBAは通常の

エラーチェック動作を再開します。

他のOn Errorステートメントのいずれかを使用した後、またはプロシージャでエラー処理

を削除する場合は、このステートメントを使用します。

On Error Resume Next このステートメントを実行すると、VBAはすべてのエラーを無視して

次のステートメントで実行を再開します。

<!エラーが発生したときにルーチンを正常に終了させたい場合があります。 - > - >

エラー後に再開する

たとえば、エラーを説明するメッセージを表示して、プロシージャを終了することができます。 (前述のEnterSquareRoot5の例ではこの手法を使用しています)。可能であれば、エラーから回復したい場合もあります。

エラーから回復するには、Resumeステートメントを使用する必要があります。これにより、エラー状態がクリアされ、ある場所で実行を続行できます。 Resumeステートメントは、3つの方法で使用できます。

構文 動作内容
再開 エラーの原因となったステートメントで実行を再開します。エラー処理コードで問題が修正され、

続行する場合は

これを使用してください。

再開次へ エラーの原因となった

ステートメントの直後のステートメントで実行を再開します。これは基本的に

エラーを無視します。

再開 label 指定した ラベル で実行が再開されます。
<!次の例では、エラーが発生した後にResumeステートメントを使用します。

Sub EnterSquareRoot6()Dim Num As Variant Dim Msg As String Dims As Integer TryAgain: 'エラー処理の設定エラーGoTo BadEntry '値を求めるプロンプトNum = InputBox( "値を入力")Num = "" Then Exit Sub'の場合平方根ActiveCellを挿入します。 Value = Sqr(Num)Exit Sub BadEntry:Msg = Err。 Msg = "Msg =" Msg = "Msg =" Msg = "Msg =" Msg = "Msg ="非負の値を入力します。 "Msg = Msg&vbNewLine&vbNewLine&"もう一度お試しください。 "Ans = MsgBox(Msg、vbYesNo + vbCritical)If Ans = vbYes Then Then TryAgain End Sub

このプロシージャには別のラベルTryAgainがあります。エラーが発生すると、BadEntryラベルで実行が続行され、コードには以下のメッセージが表示されます。ユーザーが[はい]をクリックして応答すると、Resumeステートメントが起動し、実行がTryAgainラベルにジャンプします。ユーザーが「いいえ」をクリックすると、手順は終了します。

エラーが発生した場合、ユーザは再試行するかどうかを決定することができる。

エラーメッセージにはエラー番号と「公式」エラーの説明も含まれています。

Resumeステートメントは、エラー状態をクリアしてから続行します。これを確認するには、前の例の最後から2番目のステートメントに次のステートメントを代入してください。

If Ans = vbYes Then GoTo TryAgain

ResumeではなくGoToを使用するとコードが正しく機能しません。説明するには、負の数を入力します。エラープロンプトが表示されます。 [はい]をクリックして再試行し、

別の 負の数を入力します。元のエラー状態がクリアされなかったため、この2番目のエラーはトラップされません。 簡単なエラー処理

このエラー処理ビジネスをすべて真正面目に保つために、ここではすばやく簡単な要約を示します。エラー処理コードのブロックには、次のような特徴があります。

On Errorステートメントで指定されたラベルの直後から開始されます。

  • エラーが発生した場合に限り、マクロに到達する必要があります。つまり、Exit SubやExit Functionなどの文をラベルの直前に使用する必要があります。

  • 再開文が必要な場合があります。エラーが発生したときにプロシージャを中止しない場合は、メインコードに戻る前にResume文を実行する必要があります。

  • エラーを無視するタイミングを知る

場合によっては、エラーを無視しても問題ありません。 On Error Resume Nextステートメントが有効になります。

次の例では、選択範囲内の各セルをループし、その値を平方根に変換します。

Sub SelectionSqrt()DimセルAs範囲If TypeName(Selection)<> "range" Then Exit Sub For EachセルIn Selectionセル。選択範囲内のセルのいずれかに負の数またはテキストが含まれていると、エラーメッセージが表示されます。 Value = Sqr(セルの値)次のセルEnd Sub

この場合、平方根に変換できない値を含むセルはすべてスキップします。 If-Then構造体を使用してあらゆる種類のエラーチェック機能を作成することができますが、発生するエラーを無視するだけで、より良い(単純な)ソリューションを考案できます。

On Error Resume Nextステートメントを使用して、次のルーチンを実行します。

Sub SelectionSqrt()Dim Cell As Range If TypeName(Selection)<> "range" Then Exit Sub On Error細胞。値= Sqr(セル値)次のセルEnd Sub

一般的に、エラーが作業に無害または重要でないと考える場合、On Error Resume Nextステートメントを使用できます。
Excel 2016 VBAでOnErrorステートメントを使用する方法 - ダミー

エディタの選択

SketchUpのステータスバー - ダミー

SketchUpのステータスバー - ダミー

SketchUpのステータスバーには、モデリング中に使用するコンテキスト情報が含まれています。モデリングウィンドウの下の狭い情報には、情報の良さが満載されています。コンテキスト固有の指示:ほとんどの場合、ここでは何をしているのかを確認するためにここでチェックします。モディファイアキー(組み合わせて使用​​するキーボードストローク)

スケッチツールにインテリジェントに反応するよう設計されたダミー

スケッチツールにインテリジェントに反応するよう設計されたダミー

ダイナミックコンポーネント(DC) SketchUpが提供する真の魔法に最も近いもの。あなたがそれらを拡大縮小するときに、伸ばしたり歪んだりするのではなく、寸法を変更するはずの部品は、他の部分はしません。

SketchUpの投影テクスチャ曲線にテクスチャを追加する方法 - 複雑な曲線に画像を描くためのダミー

SketchUpの投影テクスチャ曲線にテクスチャを追加する方法 - 複雑な曲線に画像を描くためのダミー

SketchUpのサーフェスには、このメソッドの代わりはありません。地形の塊は、複雑な曲面の良い例です - 凹凸、ねじれ、波紋、多方向。扱っているカーブが単純な押し出しよりも複雑な場合は、この画像マッピングテクニックを使用する必要があります。キー...

エディタの選択

QuickBooks 2013のアイテムリストにSales Tax ItemまたはGroupを追加する方法 - ダミー

QuickBooks 2013のアイテムリストにSales Tax ItemまたはGroupを追加する方法 - ダミー

販売税の対象となる商品を販売する場合、QuickBooks 2013請求書には、これらの売上税を請求して追跡する広告申込情報も含まれます。これを行うには、売上税明細を登録します。販売税項目を登録するには、新規項目ウィンドウを表示し、タイプ...から販売税項目を選択します。

QuickBooks 2012のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2012のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2012でサービスアイテムを使用して、サービスを表すアイテムを購入または請求します。たとえば、CPAは、個人や企業に対して納税申告書を作成します。納税申告書を準備するためにクライアントに請求する場合、納税申告書の請求書に表示される明細はサービス項目です。 ...

QuickBooks 2013のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2013のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2013のサービスアイテムを使用して、サービスを表すアイテムを購入または請求します。たとえば、CPAは、個人や企業に対して納税申告書を作成します。納税申告書を準備するためにクライアントに請求する場合、納税申告書の請求書に表示される明細はサービス項目です。 ...

エディタの選択

WordPressブログのユーザーと著者を管理する方法 - ダミー

WordPressブログのユーザーと著者を管理する方法 - ダミー

WordPressユーザーページには、あなたのブログのすべてのユーザーが表示されます。各ユーザーのユーザー名、名前、電子メールアドレス、ブログの役割、およびブログに投稿された投稿の数が表示されます。フォロワー:このデフォルトロールは、...

WordPress Permalinkをサーバーと連携させる方法 - ダミー

WordPress Permalinkをサーバーと連携させる方法 - ダミー

デフォルト以外のオプションを使用してWordPressサイトのパーマリンクの場合、WordPressは特定のルールまたはディレクティブを.txtファイルに書き込みます。あなたのWebサーバー上のhtaccessファイル。 permalinkによると、htaccessファイルはあなたのWebサーバーと交信して、パーマリンクをどのように提供すべきかを示します。

WordPressブログを修正する方法 - ダミー

WordPressブログを修正する方法 - ダミー

WordPressブログをインストールした後、それがリンクされているウェブサイトに合ったブログ。既存のテーマ(スキン)を変更したり、WordPressをインストールした後に使用できる代替語句を選択することができます。選択したテンプレートがメインWebサイトに似ていることを確認してください。ただし、WordPressは...