【カテゴリー別】Excel VBA スタンダード 模擬問題 エラー Excel VBA スタンダード 模擬問題 模擬試験 2026.06.052026.06.30 こちらの試験はカテゴリー別の模擬問題です。 システムに登録した順番に1問1答形式で出題されます。 タイマー機能やランダム機能はありません。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ VBAのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 論理エラーは分けるとコンパイルエラーと作業時エラーに分けられる。 論理エラーはVBAの文法的なエラーではないが、論理的な矛盾によって発生するエラーである。 マクロで発生するエラーは大きく分けると、記述エラーと論理エラーに分けられる。 記述エラーは文法エラーとも呼ばれている。 None 2. __________,__________ VBEのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 記述エラーは、VBAの文法に従わない記述をして命令を実行しようとすると発生するエラーである。 VBE内でEnterキーを押すと、コードに誤りがないかチェックをする。 記述エラーは文法エラーとも呼ばれている。 VBE内で記述に誤りがあると該当箇所が赤文字で表示される。 None 3. __________,__________ 以下の文章はマクロで発生する主な2種類のエラーの説明です。 空欄に入る適切な語句を選択肢から解答しなさい。 ・【 ① 】エラー このエラーは構文エラーとも呼ばれます。VBAの文法や書式に誤りがあるときに発生します。 ・【 ② 】エラー このエラーは構文に誤りがなくても、マクロの論理に矛盾があるときに発生します。 ① 記述 ② 論理 ① 論理 ② 記述 ① 実行時 ②記述 ① 構文 ② 実行時 None 4. __________,__________ VBAの論理エラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 論理エラーは文法的なエラーではないが、論理的な矛盾によって発生するエラーである。 論理エラーはVBAの文法的な誤りはないエラーである。 論理エラーはエラー発生の段階で分けるとコンパイルエラーと実行時エラーに分けられる。 論理エラーはマクロ実行前にだけ分かるエラーである。 None 5. __________,__________ VBAのコンパイルエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 コンパイルエラーはコードに論理的な誤りがある場合に発生する。 コンパイルエラーはマクロの実行前に検出されるため、実行前にエラーを修正できる。 コンパイルエラーはマクロの実行中に検出される。 Option Explicitを使用していない場合でも、コンパイルエラーは発生することがある。 None 6. __________,__________ モジュールの先頭に記述することで、すべての変数に対して事前の宣言を強制する語句を解答しなさい。記述: 7. __________,__________ 以下の文書は、マクロの論理エラーを発生するタイミングに応じて2つに分類したものです。 空欄に入る適切なものを選択肢の中から1つ解答しなさい。 ・論理エラー ∟【 ① 】 エラー・・・ マクロが実行される際、VBEはコード全体を「Excel が理解できる形式」に変換します。 この変換は①「上記空欄と同じ」と呼ばれています。この時点で論理的な誤りが検出されると、実行前にエラーが発生します。 ∟【 ② 】エラー・・・ 論理的な誤りが含まれていても、その部分が実際に実行されるまでエラーが発生しない場合があります。 ① 構文 ② 記述 ① 実行時 ② コンパイル ① コンパイル ② 実行時 ① 記述 ② 構文 None 8. __________,__________ VBAの実行時エラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 実行時エラーが発生しても、通常はVBAコードの実行が停止する。 実行時エラーは、ユーザーの入力やファイルの読み込みなど、実行時の状況によって発生することがある。 実行時エラーは、コードの文法には誤りがなくても、実行中に発生するエラーである。 実行時エラーはコードの実行前に検出される。 None 9. __________,__________ 以下のコードは、エラーが発生したら処理をError1:へジャンプさせるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error1 Dim wb As Workbook Set wb = Workbooks.Open("C:¥path¥file.xlsx") wb.Sheets("Sheet1").Range(“A1”) = "No Err" MsgBox "OK" Exit Sub Error1: MsgBox "NG" End Sub 10. __________,__________ エラーが発生した際に、指定したラベル「 Error1」へ処理を飛ばすための記述を解答しなさい。Sub Exam1() On Error GoTo Error1' 処理 Exit Sub MsgBox "エラー"End Sub 11. __________,__________ テーブル操作において、存在しない列名や範囲を指定してエラーが発生した際、エラーの情報を取得するために使用されるオブジェクト名を解答しなさい。 オブジェクト 12. __________,__________ 以下のコードは、エラーが発生したら処理をError1:へジャンプさせ、エラーの内容をイミディエイトウィンドウに表示するマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() On Error Goto ErrorHandler Dim ws As Worksheet Set ws = Worksheets("Sheet") ws.Range("A1") = Cells(1, 1).Value Exit Sub ErrorHandler: Debug.Print "Error" & 【 ① 】 .Description End Sub On Error Err GoTo Error None 13. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error Goto ErrorHandler ThisWorkbook.Sheets("Sheet").Range("A1") = ActiveSheet.Range("B1") Exit SubErrorHandler: Select Case . Case 9 MsgBox "指定されたシートが見つかりません。" Case Else MsgBox "予期しないエラーが発生しました。" End Select End Sub 14. __________,__________ 以下のコードは、エラーが発生した際にエラーの詳細を イミディエイトウィンドウに表示し、その後エラー情報をクリアにするマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error Goto ErrorHandler Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet2") ws.Range("B2").Value = Application.WorksheetFunction.Sum(Range("A1:A10")) Exit Sub ErrorHandler: Debug.Print "Error: "& Err.Description Err. End Sub 15. __________,__________ 次のコードは、ブックの保存状態を調べ、調べた結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs "book.xlsm" If ThisWorkbook. = True Then MsgBox "Changed" Else MsgBox "No Changed" End IfEnd Sub 16. __________,__________ 次のコードは、ブックが保護されているかどうかを確認するマクロです。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() If ThisWorkbook. = True Then MsgBox "Protected" Else MsgBox "NG" End If End Sub 17. __________,__________ 次のコードは、2列目の各セルに入力されている半角文字を全角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 18. __________,__________ 次のコードは、2列目の各セルに入力されている全角文字を半角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 19. __________,__________ セル内の文字列をStrConv関数で半角にしたい。このような場合に使用する最適な定数はどれか。 次の選択肢の中から1つ解答しなさい。 vbNarrow vbKatakana vbUpperCase vbWide None 20. __________,__________ データ内の不要な文字を除去する際に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Replace StrConv Resize Place None 21. __________,__________ 次のコードは、 セル範囲A2:A10に入力されている文字列から"-"を除去した結果を2列目に入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 Cells(i, 2) = (Cells(i, 1), "-", ) Next i End Sub 22. __________,__________ 次のコードは、 セル範囲A2:A10に入力されている文字列データから 「- 」を除去した結果を2列目に入力するマクロである。 "" (空欄文字列なし)を入れる位置は【 ① 】と【 ② 】どこが適切か選択肢から解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 Cells(i, 2) = Replace(Cells(i, 1), "【 ① 】", 【 ② 】) Next i End Sub 【 ① 】と【 ② 】どちらもあてはまらない。 【 ① 】 【 ① 】と【 ② 】 【 ② 】 None 23. __________,__________ 次のコードは、1列目に入力されている文字列データを 「-」で分割し、 その左側の部分を2列目に入力するマクロである。 以下の空欄に入る適切な語句を解答しなさい。コード実行後、セルB7に入力された値は である Sub Exam1() Dim i As Long, parts As Variant For i = 2 To 10 parts = Split (Cells(i, 1).Value, "-") Cells(i, 2).Value = parts(0) Next i End Sub 24. __________,__________ データクレンジングをするために、年月日の各指定の値からExcelが日付と認識できるように作成したい。このような時に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Day IsDate Dateserial Date None 25. __________,__________ 次のコードはセル内の書式を統一し、その書式を統一した値を同じセルに代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long Dim j As Long For i = 2 To 6 For j = 1 To 3 Cells(i, j). = "yy/mm/dd" Cells(i, j).Value = Cells(i, j).Value Next j Next i End Sub Time's up