【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 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. __________,__________ 以下のコードは、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 3. __________,__________ 以下のコードは、2列目が"Japan"であるセルと同じ行の3列目に入力されている数値を合計して、セルE2に表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long Range("E2") = WorksheetFunction. (Range("B2:B10"), "Japan", Range("C2:C10")) End Sub 4. __________,__________ データクレンジングをするために、 年月日の各指定の値からExcelが日付と認識できるように作成したい。このような時に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Dateserial Date Day IsDate None 5. __________,__________ 次のコードは、セルA1から順に下方向にチェックし、空白セルが見つかるまで処理を繰り返すマクロである。 空欄に入る適切な語句を解答しなさい。Sub Exam1() Dim i As Long i = 1 While Cells(i, 1).Value "" i = i + 1 End Sub 6. __________,__________ 次のコードは、シート上セルの値を使用したファイルパスでブックを開くことを想定したマクロである。 次の選択肢の中からブックを開く適切なコードを選択しなさい。 Workbooks.Open "C:\User\" & "Range("A2")" & "1" & .xlsx" Workbooks.Open"C:\User\" & "Range("A2")" & "1.xlsx" Workbooks.Open "C:\User\" & Range("A2") & "1.xlsx" Workbook.Open "C:\User\" & Range("A2") & "1.xlsx" None 7. __________,__________ 次のコードは、条件を満たした際に処理を実行する条件分岐のマクロである。 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 8. __________,__________ 次のコードは、表の指定範囲を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 9. __________,__________ VBAの TypeName 関数に関する説明として、最も適切なものを選択肢の中から1つ選びなさい。 変数名が文法的に正しいかどうかのみを調べることができる。 数に格納されている値のデータ型のみを調べることができる。 セルに入力されている値だけでなく、変数に格納されている値のデータ型も調べることができる。 セルに入力されている値のデータ型のみを調べることができる。 None 10. __________,__________ VBAコードにおける「引数(ひきすう)」の説明として、最も適切なものを選択肢の中から1つ選びなさい。 1つの変数の中に、複数の値を同時に格納できる変数のことである。 マクロの最小実行単位のことである。 マクロの実行を途中で強制的に終了させるための命令のことである。 プロシージャを呼び出す際に、計算や処理の元となる値を渡す仕組みのことである。 None 11. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 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 12. __________,__________ 変数の参照渡しと値渡しに関する説明として間違っているものを、次の中から解答しなさい。 引数の定義の ByVal、ByRef キーワードを省略すると、参照渡しになる。 参照渡しは変数そのものを渡す。 値渡しは変数に格納された値のコピーを渡す。 引数の定義に "ByVal" をつけるときは参照渡しに、"ByRef" をつけると値渡しになる。 None 13. __________,__________ 次のコードは、テーブルのすべてをSheet11のセルB2へコピーするマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet11").Range("B2") End Sub 14. __________,__________ 以下のコードは、1列目と2列目の値によって3列目に値を代入するマクロである。 このマクロの実行結果であるC列の合計行セルC12の値は であった。 Sub Exam1() Dim i As Long For i = 2 To 11 Select Case Cells(i, 1) Case “Japan” Select Case Cells(i, 2) Case “60” Cells(i, 3) = 900 Case “80” Cells(i, 3) = 1000 Case “100” Cells(i, 3) = 1100 End Select End Select Select Case Cells(i, 1) Case “United States” Select Case Cells(i, 2) Case “60” Cells(i, 3) = 1000 Case “80” Cells(i, 3) = 1100 Case “100” Cells(i, 3) = 1200 End Select End Select Next i End Sub 15. __________,__________ 次のコードは、セルA1を含む表に対して、2列目を基準にオートフィルターを設定するマクロである。空欄 に入る適切な引数名を解答しなさい。Sub Exam1() Range("A1").AutoFilter := , Criteria1:="White"End Sub 16. __________,__________ 以下のコードを実行したとき、メッセージボックスに表示される値はである。 空欄に入る適切な語句を解答しなさい。 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 17. __________,__________ 次のコードは、1番目、2番目の並べ替え基準を指定し並び替えを実行するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlDescending, :=Range("C1"), :=xlAscending, Header:=xlYes MsgBox Range("C3").Value End Sub 18. __________,__________ 次のコードは指定のセルを含むテーブルを絞り込み、テーブル内の2列目のみコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject .Range.AutoFilter 3, "800" . (2).Range.Copy Sheets("Sheet10").Range("B2") End With End Sub 19. __________,__________ 次のコードにおいて、変数を宣言した直後の変数Aに格納されている「初期値」として正しいものを選択しなさい。 Dim A As Long A = A + 1 Null 0 1 空欄("") None 20. __________,__________ Sort オブジェクト等を使用して列を基準に並べ替えを行う際、Rangeに指定する引数として適切な説明を選択しなさい。 その列のセルであれば、どこを指定してもよい。 その列のすべてのセルを選択しなければならない。 必ずその列の1行目のセル(タイトル行)を指定しなければならない。 セル番地ではなく、列番号(1, 2...)で指定しなければならない。 None 21. __________,__________ 次のコードは、ブックの保存状態を調べ、調べた結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs “book.xlsm” If ThisWorkbook. = True Then MsgBox “Changed” Else MsgBox “No Changed” End IfEnd Sub 22. __________,__________ 次のコードはセル内の書式を統一し、その書式を統一した値を同じセルに代入するマクロである。 空欄に入る適切な語句を解答しなさい。 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 23. __________,__________ テーブルオブジェクトの構造化参照に関する説明として、正しいものを選択しなさい。 プロパティを使わなければ、行を操作することは一切できない。 構造化参照では、行番号による直接指定を行うことはできない。 行を指定するには、列名と行番号を組み合わせて「[列名][3]」とする必要がある。 Range("Table1[3]") のように記述して、テーブルの3行目を直接指定できる。 None 24. __________,__________ 次のコードは、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 25. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの上から下に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (2, 4).End()) = "RED" End Sub 26. __________,__________ 次のコードは、1列目に入力されている"Japan"という文字列が入力されているセルの個数をカウントし、 メッセージボックスに個数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, count As Long For i = 2 To 11 If Cells(i, 1) = "Japan" Then count = count + End If Next i MsgBox count End Sub 27. __________,__________ 次のコードは、 セル範囲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 28. __________,__________ 次のコードは、Cドライブ下Documentsフォルダ内で、 ファイル名"total2023.xlsx"を"backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 以下の説明の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() FileCopy "C:\Documents\total2023.xlsx", "C:\Documents\backup\backup2023.xlsx" End Sub ・コピー先のフォルダにすでに同じ名前のファイルがある場合、上書きするかの確認メッセージは表示【 ① 】 ・コピー先に存在しないフォルダを指定するとエラーメッセージは表示【 ② 】 【 ① 】されない。【 ② 】される。 【 ① 】される。【 ② 】される。 【 ① 】されない。【 ② 】されない。 【 ① 】される。【 ② 】されない。 None 29. __________,__________ VBAにおける「マクロの最小実行単位」に関する記述として、適切なものを選択肢の中から1つ選びなさい。 プロジェクト モジュール ステートメント プロシージャ None 30. __________,__________ 次のコードは、見出し行もふくめ全て選択後、行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおテーブル名は”table1”である。 Sub Exam1() With Sheets("sheet1").ListObjects (” ”).Range.Select MsgBox Selection.Rows.Count End With End Sub 31. __________,__________ 次のコードは、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 32. __________,__________ 次のコードは、B列全体から”Japan”を検索し、見つかったセルの2つ右のセルに”ASIA”を入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range ("") .Find(What:=“Japan”) If Not A Is Nothing Then A.Offset(0, 2) = “ASIA” End If End Sub 33. __________,__________ 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 34. __________,__________ 以下の文章は主に2種類があるマクロのエラーの説明です。 空欄に入る適切な語句を選択肢らら解答しなさい。 ・ 【 ① 】エラー このエラーは構文エラーとも呼ばれます。VBAの文法や書式に誤りがあるときに発生します。 ・ 【 ② 】エラー このエラーは構文に誤りがなくても、マクロの論理に矛盾があるときに発生します。 ① 記述 , ② 論理 ① 構文 , ② 実行時 ① 実行時 , ②記述 ① 論理 , ② 記述 None 35. __________,__________ 次のコードは、セルA1を含む表に対して3列目が"100以上かつ、300以下"の条件で絞り込むマクロである。空欄に入る語句を解答しなさい。 Sub Exam1() Range("A1"). 3, ">=100", , "<=300" End Sub 36. __________,__________ 以下のコードは、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 Plus = & And None 37. __________,__________ 以下のコードを実行後、表示される値はである。 空欄に入る値を答えなさい。 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 38. __________,__________ 次のコードは、テーブル内のセルよりテーブル全体を特定し、コピーを実行するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”A1”). ..Copy Sheets(”Sheet7”).Range(”B1”) End Sub 39. __________,__________ 次のコードを実行したとき、変数Nに格納される値を解答しなさい。値はである。Sub Eaxam1() Dim N As Boolean N= IsDate("2024/13/01") End Sub 40. __________,__________ 次のコードは、Cドライブ下の”Documents”フォルダ内にreport.xlsxというファイルがあるか調べ、 ある場合はメッセージボックスにファイル名を表示するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As String A = (“C:\Documents\report.xlsx”) If A <> ““ Then MsgBox “OK:” & A Else MsgBox “NG” End If End Sub