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

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

目次:

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

ビデオ: MsgBox(用來秀出方塊訊息)Value(功能用來選擇內容) 2024
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ステートメントを使用する方法 - ダミー

エディタの選択

保育検索中に背景チェックを行う - ダミー

保育検索中に背景チェックを行う - ダミー

他の在宅育児提供者またはあなたのお子様をご家族のお子様に配慮することを検討している場合は、参照チェックとバックグラウンドチェックをお勧めします。家族の託児所運営の場合は、自宅にいる他の大人の警察にも尋ねてください。あなたは...

離婚や離婚後の父親へのダミー - ダミー

離婚や離婚後の父親へのダミー - ダミー

分離と離婚は、多くの父親が子供たちから離れていることです。分離は、あなたの子供や子供のための偉大なお父さんと役割モデルになり続けるための障壁にはならないはずです。非居住の父親と居間の父親の責任にはほとんど違いがありません。あなた...

エディタの選択

デジタル写真のフラッシュパワーを調整する - ダミー

デジタル写真のフラッシュパワーを調整する - ダミー

フラッシュを使用すると、デジタルカメラは自動的にフラッシュを設定しますそれは必要と思われるものに応じた力。しかし、多くのカメラでは、フラッシュ露出補正、またはフラッシュEVと呼ばれる機能によって、フラッシュ光の強さを調整できます。

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定の選択。カメラのイメージセンサの光感度を示します。 ISO番号が高いほど、カメラはより迅速に光に反応します。 ISO感度を高く設定すると光の感度は上がりますが、画像にノイズが加わることもあります。この図は、4枚の画像を示しています。

エディタの選択

WEPの弱点 - ダミー

WEPの弱点 - ダミー

セキュリティ研究者は悪意のあるユーザーが無線LAN(ワイヤレスローカルエリアネットワークWEP(Wired Equivalent Privacy)を使用しています。これらは、たとえば以下のようなものです。トラフィックを復号化するパッシブ攻撃:統計分析に基づいています。

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

アプリケーションで何かできるようになる前にログインする必要があります。意外なことに、これらはハッカーの大きな助けになることがあります。これらのログイン・メカニズムは、誤ったユーザーIDまたはパスワードを正常に処理しないことがよくあります。攻撃者が有効なユーザーIDとパスワードを収集するために使用することができる情報を漏洩させることがよくあります。 To ...

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

自宅からオフィスネットワークに接続するほとんどの人本当にちょうど彼らの電子メールが必要です。オフィスネットワークにアクセスする唯一の理由が電子メールを受け取ることだけであれば、この簡単で簡単なツール、OWAとも呼ばれるOutlook Web Appを試してみてください。このMicrosoft Exchange Server機能は、あなたの会社の電子メールにアクセスすることができます...