【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.06.30 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 以下のコードは、エラーが発生した際にエラーの詳細を イミディエイトウィンドウに表示し、その後エラー情報をクリアにするマクロです。 空欄に入る適切な語句を解答しなさい。 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 2. __________,__________ 次のコードは、2列目に入力されている日付から、前月の月末日を3列目に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 6 Cells(i, 3) = WorksheetFunction. (Cells(i, 2), ) Next i End Sub 3. __________,__________ 以下のコードは配列を使用し、実行した結果メッセージに"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 4. __________,__________ 次のコードは、表の3列目を100より大きく500より小さい値で絞り込むマクロである。 以下の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, " 【 ① 】 100", xlAnd, " 【 ② 】 500" End Sub ① > ②<= ① > ②< ①= ②< ①>= ②<= None 5. __________,__________ 以下のコードは、ユーザーが指定した語句の順番に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets("Sheet1"). Sort .SortFields. Clear .SortFields.Add Key:=Range("B2"), CustomOrder:="Golf Basketball 「空欄と同じ」Tennis" .SetRange Range("A1").CurrentRegion .Header = xlYes .Apply End With End Sub 6. __________,__________ 以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。 マクロ実行後のアクティブシートのシート名を解答しなさい。・マクロ実行後のアクティブシートのシート名は である。なおオブジェクト変数「ws1」に格納されたシートの名前は「Sheet1」である。 Sub Exam1() Dim ws1 As Worksheet , ws2 As Worksheet Set ws1= ActiveSheet Set ws2 = Worksheets.Add ws1.Activate ws2. Name = "Total" End Sub 7. __________,__________ VBAのコンパイルエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 コンパイルエラーはマクロの実行前に検出されるため、実行前にエラーを修正できる。 Option Explicitを使用していない場合でも、コンパイルエラーは発生することがある。 コンパイルエラーはコードに論理的な誤りがある場合に発生する。 コンパイルエラーはマクロの実行中に検出される。 None 8. __________,__________ 以下のコードは、エラーが発生したら処理を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 Error GoTo Err None 9. __________,__________ 次のコードは、D列を基準にセルのデータで並べ替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“D2”), :=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 10. __________,__________ VBAの WorksheetFunctionオブジェクトを使用して、Excelのワークシート関数である「VLOOKUP関数」を呼び出す際の、VBAのルールに従った正しい記述を選択肢の中から1つ選びなさい。 Sub Exam1() Dim result As Variant ' 関数の計算結果を格納するための変数(何でも入るバリアント型)を宣言します。 result = WorksheetFunction.【 ① 】(Range(A1), Range(C1:D10), 2, False)’ワークシート関数を呼び出します。 MsgBox result計算結果を表示します。End Sub vlookup VLookup vLookup VLOOKUP None 11. __________,__________ 以下のコードは、表の4列目を検索しセルの位置を特定しセルの値をセルG2へ入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("G1") = WorksheetFunction.(Range("F1"), Range("A1:D10"), 4, False) End Sub 12. __________,__________ 次のコードは、コードの途中で配列の要素数を増やし、その後メッセージボックスに"Germany"と表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim Countries() As String Countries(2) Countries(0) = "Canada" Countries(1) = "France" Countries(2) = "Germany" 「上記空欄と同じ」 Countries(4) Countries(3) = "Italy" Countries(4) = "Japan" MsgBox Countries(2) End Sub 13. __________,__________ 次のコードは、ブックを続けて開き、その後ブック名をメッセージで表示するマクロである。 以下の空欄に入る適切な語句を選択肢の中から解答しなさい。 ・マクロ実行後、最後にアクティブ状態となるブックは【 ① 】である。 Sub Exam1() Dim i As Long For i = 2 To 5 Workbooks.Open “C:\Data\” & ThisWorkbook.ActiveSheet.Cells (i, 1)& ".xlsx" Next i MsgBox ActiveWorkbook.Name End Sub total.xlsx 1.xlsx 3.xlsx 2.xlsx None 14. __________,__________ 次の文章はイミディエイトウィンドウの操作についての説明です。 空欄に入る適切な語句を、選択肢の中から1つ解答しなさい。 ・イミディエイトウィンドウは、マクロが停止しているデバッグモードや、 VBEの【 ① 】メニューから「イミディエイトウィンドウ」を表示することができます。 また変数の内容やプロパティ、実行中のマクロに関する情報を表示し、命令を実行するために使用します。 ・イミディエイトウィンドウの表示方法には、[表示]メニューから以外に、Ctrl + 【 ② 】キーを押す方法もあります。 ① ツール , ② W ① 挿入 , ② D ①表示 , ② G ① 実行 , ② I None 15. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As Worksheet ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub 16. __________,__________ 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range(“A2:B11”).Find(What:=“Baseball”, Lookat:=xlWhole) If N Is Then MsgBox N.Address End If End Sub 17. __________,__________ 次のコードは、条件を満たした際に処理を実行する条件分岐のマクロである。 D列に入力された値の合計値は である。 Sub Exam1() Dim i As Long For i = 2 To 11 If Cells(i , 1) = “2” Then If Cells(i , 2) = “Boxing” Then Cells (i, 4) = Cells(i, 3) * 2 End If If Cells(i , 1) = “3” Then If Cells(i , 2) = “Rugby” Then Cells (i, 4) = Cells(i, 3) * 3 End If Next i End Sub 18. __________,__________ VBEのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 VBE内で記述に誤りがあると該当箇所が赤文字で表示される。 記述エラーは、VBAの文法ではない記述をした時に命令すると発生するエラーである。 VBE内でEnterキーを押すと、コードに誤りがないかチェックをする。 記述エラーは文法エラーとも呼ばれている。 None 19. __________,__________ 次のコードは、1列目を見出しごと選択し、選択した列数を表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject. .Range .Select MsgBox Selection.Columns.Count End Sub 20. __________,__________ 次のコードは指定のセルを含むテーブルを絞り込み、テーブル内の2列目のみコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject .Range.AutoFilter 3, "800" . (2).Range.Copy Sheets("Sheet10").Range("B2") End With End Sub 21. __________,__________ ExcelおよびVBAにおける「シリアル値」の説明として、正しいものを選択しなさい。 日付を「1900年1月1日」を「1」としてカウントした数値のことである。 通信時にデータを1ビットずつ送るための順序番号のことである。 テーブルの各行に自動的に割り振られるIDのことである。 エラーが発生した順番に割り振られる管理番号のことである。 None 22. __________,__________ 以下の選択肢はブレークポイントに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 ブレークポイントは、1つのプロシージャ内に1箇所のみ設定することができる。 マクロ実行しブレークポイントで一時停止した時、ブレークポイントを設定した行のコードは未実行である。 ブレークポイントを設定するショートカットキーは、一時停止したいコードの行カーソルを置き「F9」キー押下し設定する。 ブレークポイントを設定した行でマクロが一時停止する。 None 23. __________,__________ 以下のコードを実行したとき、メッセージボックスに表示される値はである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet1”). Sort .SortFields. Clear .SortFields.Add Key:=Range(“D2”), CustomOrder:=“ASIA,EU,NorthAmerica,Other” .SortFields.Add Key:=Range(“C2”), Order:=xlDescending .SetRange Range(“A1:D10”) .Header = xlYes .Apply End With MsgBox Range(“C3”).Value End Sub 24. __________,__________ 次の選択肢は、条件を満たした際に処理を実行するマクロの説明である。 適当な選択肢を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 If Cells(i, 1) = "Japan" Then Cells(i, 2) = "ASIA" ElseIf Cells(i, 1) = "United States" Then Cells(i, 2) = "US" ElseIf Cells(i, 1) = "United Kingdom" Then Cells(i, 2) = "UK" Else Cells(i, 2) = "Other" End If Next i End Sub 上記マクロはいずれかの条件を満たすOR条件のマクロの記述である。 上記マクロはAND、ORいずれの条件も満たさない際のマクロの記述である。 上記マクロはすべての条件を満たすAND条件のマクロの記述である。 None 25. __________,__________ 次のコードは、表の3列目を200以上かつ500以下の値で絞り込むマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "【 ① 】 200", xlAnd, "【 ② 】500" End Sub ①> ②<= ①> ② < ①= ② < ①>= ② <= None 26. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. Offset End Sub 27. __________,__________ 次の文章はデバッグ作業の内 、マク口のコードを1行ずつ止めながら実行する説明である。 空欄に入る適切な語句を解答しなさい。 ・VBE内のマク口のコードを1行ずつ止めながら実行するのが です。 ・「上記空欄と同じ」の操作をコードの最初から行うには、実行したいプロシージャの中にカーソルを置き、 キーを押します。 ・実行すると、プロシージャのカーソル置いた箇所が黄色くハイライトされます。 これ以降、「上記空欄と同じ」キーを押すたびに、 1行ずつマクロが実行されます。 28. __________,__________ 次のコードは、表の3列目を「500以上」の値で絞り込むマクロである。 絞り込み条件(抽出条件)を指定する引数名として正しいものを解答しなさい。 Sub Exam1() Range("A1").AutoFilter Field:=3, ">=500"End Sub 29. __________,__________ 次のコードは実行したとき、メッセージボックスに「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 30. __________,__________ 次のコードは、ユーザーが指定した語句の順番に基づいてデータを並べ替えるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets("Sheet1"). Sort .SortFields. Clear .SortFields.Add Key:=Range("B2"), :="Golf,Basketball,Tennis" .SetRange Range("A1").CurrentRegion .Header = xlYes .Apply End With End Sub 31. __________,__________ 次のコードは、A列の値をカンマで区切り、B列に代入するマクロである。 セルB6に入力された値はどれか選択肢より適切なものを解答しなさい。 Sub Exam1() Dim i As Long, A As Variant, C As Variant For i = 2 To 11 A = Split(Cells(i, 1), ”,”) For Each C In A If IsNumeric(C) = True Then Cells(i, 2) = C End If Next C Next iEnd Sub B BJapan789 789 Japan None 32. __________,__________ 以下のコードはオートフィルターで絞り込みをし、その後オートフィルターを解除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Japan" Range(Range("D2"), Cells(Rows.count, 4).End(xlUp)) = "ASIA" Range("A1"). End Sub 33. __________,__________ 次のコードは並べ替える時に、数値とテキストを別々に扱うマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“C2”), SortOn:=xlSortOnValues, Order:=xlAscending, :=xlSortNormal .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 34. __________,__________ 次のコードはセル内の書式を統一し、その書式を統一した値を同じセルに代入するマクロである。 空欄に入る適切な語句を解答しなさい。 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 35. __________,__________ 以下のコードはマクロが書かれているブック上のセルを値を取得し、ブックを一つずつ開き、 最後にアクティブ状態のブック名を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 5 Workbooks.Open "C:\Data\" & .ActiveSheet.Cells(i, 1) & ".xlsx" Next i MsgBox ActiveWorkbook.Name End Sub 36. __________,__________ 次のコードは、指定したセル範囲に入力されている数値を合計し、 その合計値を別のセルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B20") = . (Range("B1:B19")) End Sub 37. __________,__________ 次のコードは、宣言時には要素数を指定せず、途中で要素数を4に指定したマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries As String countries(4) countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” countries(4) = “Japan” MsgBox countries(3) End Sub 38. __________,__________ 次の文書は、漢字の並べ替えの説明である。 【 ① 】に入る適切な順番を選択肢から選び解答しなさい。 ●漢字を並べ替える時の注意点 ・漢字を並べ替える時はセルに設定されている漢字のふりがなで並べ替えます。 具体的にはセルに漢字を入力するとき、日本語変換前に入力した読みが登録されており、それを基準に並び替えています。 例)井田・・・ 1.「せいでん」で変換し入力 2.「いだ」で変換し入力 3.「井田」は変換はせずほかのアプリよりコピーペーストした。 この時の並び替え実施後の順番は【 ① 】の順で並べ替えられる。 3、1、2 2、1、3 1、2、3 None 39. __________,__________ 以下のコードは、表の3列目に入力されている値を昇順に並べ替えるマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1").Sort :=Range("D1"), :=xlAscending, :=xlYes End Sub 40. __________,__________ 次コードは実行すると "1234" がメッセージボックスに表示されるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A(3) As Long, N As Variant, i As String A(0) = 1 A(1) = 2 A(2) = 3 A(3) = 4 For Each In A i = i & N Next N MsgBox i End Sub