【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.06.30 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 以下のコード「Exam1」と「Exam2」は同じ結果になるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, A As Long i = 1 Do A = A + Cells(i, 1) * 2 i = i + 1 Loop Cells(i, 1) = "STOP" MsgBox A End Sub ーーーーーーーーーーーーーーーーー Sub Exam2() Dim i As Long, A As Long i = 1 Do A = A + Cells(i, 1) * 2 i = i + 1 Loop While Cells(i, 1) <> "STOP" MsgBox A End Sub 2. __________,__________ 次のコードは、 セル範囲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 3. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. Offset End Sub 4. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As Worksheet ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub 5. __________,__________ 次の文章は、デバッグ作業で使うイミディエイトウィンドウの説明と出力コードです。 空欄に入る適切な語句を解答しなさい。 次のコードは実行すると、イミディエイトウィンドウに「12345」を出力します。 Sub Exam1() . 12345 End Sub 6. __________,__________ 以下のコードは、表の2列目が “Canada “または"United Kingdom"の条件で絞り込むマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range( “A1 “).AutoFilter 2, “Canada “, , “United Kingdom" End Sub 7. __________,__________ 次のコードは、セルA1から順に下方向にチェックし、空白セルが見つかるまで処理を繰り返すマクロである。 空欄に入る適切な語句を解答しなさい。Sub Exam1() Dim i As Long i = 1 While Cells(i, 1).Value "" i = i + 1 End Sub 8. __________,__________ 以下のコードは、A列を検索し、見つかったセルからC列までをセルE2へコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”). Find (What:=“8”) If A Is Nothing Then MsgBox “0” Else Range(A, A.End()).Copy Range(“E2”) End If End Sub 9. __________,__________ 並べ替えを実行する際、の説明として以下の空入る正しいものを解答しなさい。・タイトル行(ヘッダー)があるかどうかをExcelに自動判別させる設定としてを引数として指定する。なお数値で指定する場合はを指定する。 10. __________,__________ 次のコードは、テーブル内の見出しを含む3列目を指定するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1[[ ],[]]").Select End Sub 11. __________,__________ データ内の不要な文字を除去する際に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 StrConv Place Resize Replace None 12. __________,__________ セル内の文字列をStrConv関数で半角にしたい。このような場合に使用する最適な定数はどれか。 次の選択肢の中から1つ解答しなさい。 vbWide vbUpperCase vbNarrow vbKatakana None 13. __________,__________ 次のコードは、B列に入力されている数値のうち 「5番目に小さい数値」を指定のセルに代入するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("E3") = WorksheetFunction. (Range("B1:B20"), 5) End Sub 14. __________,__________ 次のコードは、A列に入力されている値から、当月の月末日を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim endOfMonth As Date endOfMonth = WorksheetFunction. ( (Range(“A1”).Value, Range(“A2”).Value, Range(“A3”).Value), 0) MsgBox “月末の日付は” & endOfMonth End Sub 15. __________,__________ 次のコードは、表の指定範囲を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 16. __________,__________ 指定の値が日付と認識できるか確認したい。 このような場合に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Day IsDate Date Dateserial None 17. __________,__________ 次のコードは、ブックが保護されているかどうかを確認するマクロです。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() If ThisWorkbook. = True Then MsgBox “Protected” Else MsgBox “NG” End If End Sub 18. __________,__________ 次のコードは、テーブルのすべてをSheet11のセルB2へコピーするマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet11").Range("B2") End Sub 19. __________,__________ VBAの TypeName 関数に関する説明として、最も適切なものを選択肢の中から1つ選びなさい。 変数名が文法的に正しいかどうかのみを調べることができる。 セルに入力されている値のデータ型のみを調べることができる。 数に格納されている値のデータ型のみを調べることができる。 セルに入力されている値だけでなく、変数に格納されている値のデータ型も調べることができる。 None 20. __________,__________ 次のコードは、表の3列目を「500以上」の値で絞り込むマクロである。 絞り込み条件(抽出条件)を指定する引数名として正しいものを解答しなさい。 Sub Exam1() Range("A1").AutoFilter Field:=3, ">=500"End Sub 21. __________,__________ 次のコードは、Cドライブ下Documentsフォルダ内で、 ファイル名"total2023.xlsx"を"backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 以下の説明の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() FileCopy "C:\Documents\total2023.xlsx", "C:\Documents\backup\backup2023.xlsx" End Sub ・コピー先のフォルダにすでに同じ名前のファイルがある場合、上書きするかの確認メッセージは表示【 ① 】 ・コピー先に存在しないフォルダを指定するとエラーメッセージは表示【 ② 】 【 ① 】される。【 ② 】されない。 【 ① 】される。【 ② 】される。 【 ① 】されない。【 ② 】される。 【 ① 】されない。【 ② 】されない。 None 22. __________,__________ 以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。 マクロ実行後のアクティブシートのシート名を解答しなさい。・マクロ実行後のアクティブシートのシート名は である。なおオブジェクト変数「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 23. __________,__________ 次のコードは、セルA1を含む表に対して3列目が「200以上かつ、400以下」の条件で絞り込むマクロである。以下の空欄に入る数値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, ">=200", , "<=400" End Sub 24. __________,__________ 以下のコードを実行後、表示される値はである。 空欄に入る値を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("C1"), Order2:=xlDescending, Header:=xlYes MsgBox Range("C2").Value + Range("C7").Value End Sub 25. __________,__________ 次のコードは、セルA1を含む表に対して、2列目を基準にオートフィルターを設定するマクロである。空欄 に入る適切な引数名を解答しなさい。Sub Exam1() Range("A1").AutoFilter := , Criteria1:="White"End Sub 26. __________,__________ 次のコードはB列が”Tomato”だった時の、C列の合計を表示するマクロである。 実行後、メッセージに表示された値は である。 空欄に入る適切な値を解答しなさい。 Sub Exam1() Dim i As Long, N As Long For i = 2 To 10 If Cells(i, 2) = "Tomato" Then N = N + Cells(i, 3) End If Next i MsgBox N End Sub 27. __________,__________ 次のコードを実行後、メッセージに表示される値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Long With Range("A1").ListObject .DataBodyRange.AutoFilter 3, "800" .ListColumns(1).DataBodyRange.Value = "―" .DataBodyRange.AutoFilter 3 End With N = WorksheetFunction.SumIf(Range("A1:A10"), "1", Range("C1:C10")) MsgBox N End Sub 28. __________,__________ 次のコードは、ブックの保存状態を調べ、調べた結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs “book.xlsm” If ThisWorkbook. = True Then MsgBox “Changed” Else MsgBox “No Changed” End IfEnd Sub 29. __________,__________ Sort オブジェクト等を使用して列を基準に並べ替えを行う際、Rangeに指定する引数として適切な説明を選択しなさい。 セル番地ではなく、列番号(1, 2...)で指定しなければならない。 その列のすべてのセルを選択しなければならない。 その列のセルであれば、どこを指定してもよい。 必ずその列の1行目のセル(タイトル行)を指定しなければならない。 None 30. __________,__________ 次の選択肢は、条件を満たした際に処理を実行するマクロの説明である。 適当な選択肢を解答しなさい。 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 31. __________,__________ 次のコードは、Do…Loopステートメントにより変数の値が指定した条件まで 処理を繰り返し続け、指定条件となった時は、処理を抜けてLoopの次の行からの処理を行うマクロである。 以下の空欄に入る適切な値を解答しなさい。 :Exit Doが実行されるとき変数「i」の値は である。 Sub Exam1() Dim i As Long, N As Long Do While i < 100 i = i + 1 Cells(i, 1).Offset(0, 2) = 20 N = N + 20 If N > 150 Then Exit Do End If Loop MsgBox “End” End Sub 32. __________,__________ VBAにおける「配列」の説明として、最も適切なものを選択肢の中から1つ選びなさい。 呼び出し元のプロシージャへ値を返す専用の関数である。 条件を満たすまで処理を繰り返すための制御構造である。 複数の値を同時に格納することができる変数のことである。 1つの変数につき、1つの値のみを格納できる仕組みである。 None 33. __________,__________ 次のコードは、引数を使わず変数Cを共有し初期値を設定するマクロである。 1 ~ 4の内 で変数の宣言と初期化を行うのが適切である。適切なものを解答しなさい。 変数の宣言と初期化: Dim C As Long Option Explicit 【 1 】 Sub Exam1() 【 2 】 C = 10 Call Exam2 End Sub Sub Exam2() 【 3 】 C = C + 5 Call Exam3() End Sub Sub Exam3 【 4 】 MsgBox "Cの値は" & C End Sub 34. __________,__________ 次のコードは、表の3列目を200以上かつ500以下の値で絞り込むマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "【 ① 】 200", xlAnd, "【 ② 】500" End Sub ①>= ② <= ①> ②<= ①> ② < ①= ② < None 35. __________,__________ 次のコードは、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 36. __________,__________ 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 37. __________,__________ VBEのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 VBE内でEnterキーを押すと、コードに誤りがないかチェックをする。 記述エラーは文法エラーとも呼ばれている。 記述エラーは、VBAの文法ではない記述をした時に命令すると発生するエラーである。 VBE内で記述に誤りがあると該当箇所が赤文字で表示される。 None 38. __________,__________ 以下のコードは別のプロシージャを呼び出すマクロである。 空欄に入る適切な語句を選択肢の中から解答しなさい。 【 ① 】 Exam() MsgBox "OK" End 【 ① 】 【 ② 】Numbers(a As Integer, b As Integer) As Integer Numbers = a + b End 【 ② 】 Sub Test() Call Exam Dim result As Integer result = Numbers(3, 7) MsgBox "3 + 7 の結果は " & result End Sub 【 ① 】Function 【 ② 】Sub 【 ① 】Sub 【 ② 】Sub 【 ① 】Function 【 ② 】Function 【 ① 】Sub 【 ② 】Function None 39. __________,__________ 次のコードは、2列目の各セルに入力されている全角文字を半角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 40. __________,__________ 以下のコードは、セル内のデータが数値かどうかを判定し、数値であれば”True”、数値でなければ”False”をメッセージボックスに表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim cellValue As Variant cellValue = Range(“A1”).Value If (cellValue) Then MsgBox “True” Else MsgBox “False” End If End Sub