【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.06.30 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range("A2:D10").Find(What:="Italy", :=xlWhole) If Not N Is Nothing Then MsgBox N.Address End If End Sub 2. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 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 3. __________,__________ 以下のコードはオートフィルターで絞り込みをし、その後オートフィルターを解除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Japan" Range(Range("D2"), Cells(Rows.count, 4).End(xlUp)) = "ASIA" Range("A1"). End Sub 4. __________,__________ 以下のコードは、エラーが発生したら処理を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 GoTo Error Err None 5. __________,__________ 次のコードは、漢字が入力されているC列各セルに対して、 ふりがなが設定されていればそのふりがなを、 ふりがなの設定がなく漢字がそのまま入力されている時 は"0"と、D列の各セルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 If Cells(i, 3). .Text = "" Then Cells(i, 4) = "0" Else Cells(i, 4) = Cells(i, 3).「上記空欄①と同じ」. End If Next i End Sub 6. __________,__________ 次のコードは、新たにDocumentsフォルダの下にReportsフォルダを作成するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:¥Documents¥Reports" End Sub 7. __________,__________ 以下のコードは、B列のセル内の文字列を結合し結果をメッセージボックスで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, N As String For i = 2 To 8 N = N %BLANK% Cells(i, 2) Next i MsgBox N End Sub And = Plus & None 8. __________,__________ 以下の選択肢はデバッグモードに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 エラーが発生してもデバッグを行わないときはエラーのダイアログボックスの終了ボタンをクリックする。 デバッグモードになると、実行後の行が黄色くハイライトとなる、マクロが一時停止状態になる。 デバッグモードの目的はミスの修正を行うことである。 エラー発生後デバッグモードに移行するかどうかは、エラーのダイアログボックスでユーザーが選択できる。 None 9. __________,__________ 次のコードは、表のセル範囲A3:C11のみを、3列目を基準として降順に並べ替えるマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range("A3:C11").Sort Key1:=Range("C3"), Order1:=xlDescending, Header:= End Sub 10. __________,__________ 次のコードは、 セル範囲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 11. __________,__________ 次のコードは、テーブルのすべてをSheet11のセルB2へコピーするマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet11").Range("B2") End Sub 12. __________,__________ 次のコードは、1列目を見出しごと選択し、選択した列数を表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject. .Range .Select MsgBox Selection.Columns.Count End Sub 13. __________,__________ 以下のコードは、2列目で「Japan」を検索し、見つかったときは見つかったセルの3列目に「ASIA」を代入し、見つからなかったときは「0」と表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“B:B”).Find(What:=“Japan”) If A Is Then MsgBox “0” Else A.Offset(0, 1) = “ASIA” End If End Sub 14. __________,__________ 次のコードはテーブル全体をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。なおテーブルの名前は画像の左上に表示されています。 Sub Exam1() With Range(" [ ]") .Copy Sheets("Sheet12").Range("B2") End With End Sub 15. __________,__________ 次の文章は、イミディエイトウィンドウに関する説明です。 以下の空欄に入る適切な語句を解答しなさい。 イミディエイトウィンドウに range("C2").Value のように「上記空欄と同じ」を先頭につけて入力し、エンターキーを押すと、 プロパティの値や変数の値、関数の結果を調べてイミディエイトウィンドウに表示することができます。 例:Valueプロパティ 16. __________,__________ 以下のコードは、セルA1を含む表データ部の1列目を"2"で絞り込み後行を削除しメッセージを表示するマクロである。 メッセージに表示された値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject.DataBodyRange .AutoFilter 1, "2" .EntireRow.Delete .AutoFilter 1 MsgBox .Rows.Count End With End Sub 17. __________,__________ 次のコードは、整数を引数として受け取り、その値が10より大きいかどうかを判定し、 値が10以下の場合、処理を途中で終了し、値が10より大きい場合は “10を超えています” というメッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim result As String Dim N As Integer N = 15 result = CheckNumber(N) MsgBox result End Sub Function CheckNumber(N As Integer) As String If N <= 10 Then Exit End If CheckNumber = “10を超えています” End Function 18. __________,__________ 次のコードは、実行したときにメッセージボックスに「15」と表示されるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Long B = 15 Call Exam2 (B) MsgBox B End Sub Sub Exam2 ( B As Long) B = B + 10 End Sub 19. __________,__________ 次のコードは、2列目の値が600から750のときは3列目に”Medium”を代入し、1000または1100の値の時は3列目に”High”を代入するマクロである。 以下の空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Select Case Cells(i, 2) Case 600 750 Cells(i, 3) = “Medium” Case 1000 1100 Cells(i, 3) = “High” End Select Next i End Sub 20. __________,__________ 次のコードは、セル範囲B1からB10に入力された数値のうち、 一番大きい値をセルD1に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("D1") = WorksheetFunction. (Range("B1:B10")) End Sub 21. __________,__________ 次のコードを実行したとき、メッセージボックスに表示される値として正しいものを解答しなさい。Sub Exam1() Dim A As Integer A = 5 Call Exam2(A) MsgBox AEnd SubSub Exam2(X As Integer) X = X * 3End Sub 15 0 5 コンパイルエラーが発生する。 None 22. __________,__________ セル内の文字列をStrConv関数で半角にしたい。このような場合に使用する最適な定数はどれか。 次の選択肢の中から1つ解答しなさい。 vbUpperCase vbNarrow vbKatakana vbWide None 23. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込むマクロである。 絞込み後4列目にREDと入力された同じ行の1列目「Data1」の合計値は である。 上記空欄に入る適切な値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Apple" Range (Range ("D2"), Cells (Rows.Count, 4).End(xlUp)) = "RED" End Sub 24. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As Set ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub 25. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. Offset End Sub 26. __________,__________ 次のコードは、セル範囲A1:A10の中から「RED」という文字を含むセルを検索するマクロである。 空欄 に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range(”A1:A10”).)(What:=(”RED”, LookAt:=) If Not N Is Nothing Then MsgBox N.Address End IfEnd Sub 27. __________,__________ 次のコードは、1列目を”7”を検索し、見つかったセルを含む1列目から3列目までのセルをコピーし貼り付けするマクロである。 マクロ実行後セルF2内の値はある。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”).Find (What:=“7”) If A Is Nothing Then MsgBox “0” Else A. Resize (1, 3). Copy Range(“E2”) End If End Sub 28. __________,__________ 次のコードを実行したとき、変数Nに格納される値を解答しなさい。値はである。Sub Eaxam1() Dim N As Boolean N= IsDate("2024/13/01") End Sub 29. __________,__________ 次のコードは、テーブルの見出し行のみを指定のシートへコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet1").Range("B2") End Sub 30. __________,__________ 以下のコードは配列を使用し、実行した結果メッセージに"Canada"が表示されるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries( To 4) As String countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” countries(4) = “Japan” MsgBox countries(「上記空欄と同じ」) End Sub 31. __________,__________ 次のコードは、1番目、2番目の並べ替え基準を指定し並び替えを実行するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlDescending, :=Range("C1"), :=xlAscending, Header:=xlYes MsgBox Range("C3").Value End Sub 32. __________,__________ 以下の選択肢の中で引数を使わないで値を共有する方法の説明として間違っているものを、次の中から1つ解答しなさい。 複数のプロシージャで値を共有するには、引数の使用やモジュールレベル変数を使用することである。 モジュールレベル変数は、宣言すると別のモジュールでも値を共有することができる。 モジュールレベル変数は、宣言すると別のプロシージャでも値を共有することができる。 モジュールレベル変数の宣言は、宣言セクションで宣言する。 None 33. __________,__________ 次のコードは、Cドライブ下のDocumentsフォルダ内で、ファイル名"total2023.xlsx "を "backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:\Documents¥total2023.xlsx","C:\Documents¥backup2023.xlsx" End Sub 34. __________,__________ 次のコードは実行したとき、メッセージボックスに「40」と表示するマクロである。 空欄に入る適切な語句を解答しなさい。Sub Exam1() Dim B As Long B = 20 Call ModifyValue(B) MsgBox B End Sub Sub ModifyValue( B As Long) B = B * 2 End Sub 35. __________,__________ 次のコードは、B列で"Japan"を探し、見つかったセルを含む行全体を削除するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“B:B”).Find(What:=“Japan”) If A Is Nothing Then MsgBox “見つかりませんでした” Else A..Delete End If End Sub 36. __________,__________ ワークシートが下図の状態で、次のマクロを実行したときメッセージボックスに表示される値は、 である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range,N As Long Range("B1").CurrentRegion.Select For Each A In Selection N = N + A.Value Next A MsgBox N End Sub 37. __________,__________ 次のコードは、表の指定範囲を2列目を基準に上下に並び変えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“B2”), Order:=xlDescending .SetRange Range(“A1:C11”) .Header = xlYes .MatchCase = False . = xlTopToBottom .Apply End With End Sub 38. __________,__________ 以下の文章は主に2種類があるマクロのエラーの説明です。 空欄に入る適切な語句を選択肢らら解答しなさい。 ・ 【 ① 】エラー このエラーは構文エラーとも呼ばれます。VBAの文法や書式に誤りがあるときに発生します。 ・ 【 ② 】エラー このエラーは構文に誤りがなくても、マクロの論理に矛盾があるときに発生します。 ① 構文 , ② 実行時 ① 論理 , ② 記述 ① 記述 , ② 論理 ① 実行時 , ②記述 None 39. __________,__________ 以下のコードは、セル範囲A1:A5に入力された数値のうち最も小さい値をセルC1へ代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("C1") = WorksheetFunction. (Range("A1:A5")) End Sub 40. __________,__________ 次のコードは、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