【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 次のコードは、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 2. __________,__________ 次のマクロはオブジェクト変数を使用したマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim wb As Dim N As Range Set wb = ThisWorkbook Set N = wb.Sheets(1).Range("A1") N.Resize(1, 2).Copy wb.Sheets(1).Range("C1") End Sub 3. __________,__________ 次のコードは、A列から “Baseball” という値を探し、その値の位置に対応する B 列の値をメッセージボックスで表示するマクロである。 以下の空欄に入る適切な語句を選択しなさい。 Sub Exam1() Dim searchValue As String Dim result As Variant searchValue = “Baseball” result = WorksheetFunction.Match(searchValue, Range(“A2:A11”), 0) If IsNumeric(result) Then MsgBox searchValue & “ は “ & result & “ 行目にあり、対応する値は “ & WorksheetFunction.(Range(“B2:B11”), result) & “ です。” Else MsgBox searchValue & “ は見つかりませんでした。” End If 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. __________,__________ 以下の文章は、イミディエイトウィンドウに関する説明です。 空欄に入る適切な語句を解答しなさい。 ・イミディエイトウィンドウでシート名「Sheets(1)」を削除する命令「Delete」を実行する場合、次のように入力します。 例) ① .delete 6. __________,__________ 以下のコードはフィルターで絞り込み後、テーブル内の見出し行ごとコピーし、 シート名「Sheet8」のセルC1に貼り付けるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject. .AutoFilter 3, "700" .Copy Sheets("Sheet8").Range("C1") End With End Sub 7. __________,__________ 次のコードは、表の3列目を「500以上」の値で絞り込むマクロである。 絞り込み条件(抽出条件)を指定する引数名として正しいものを解答しなさい。 Sub Exam1() Range("A1").AutoFilter Field:=3, ">=500"End Sub 8. __________,__________ 次のコードは、2列目が"Germany"であるデータを、見出し行も含め全てSheet5のセルB1へコピーするマクロである。コードの実行結果 個分のセルがコピーされた。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject.Range .AutoFilter 2, "Germany" .Copy Sheets("Sheet6").Range("B1") .AutoFilter 2 End With End Sub 9. __________,__________ セル内の文字列をStrConv関数で半角にしたい。このような場合に使用する最適な定数はどれか。 次の選択肢の中から1つ解答しなさい。 vbNarrow vbWide vbUpperCase vbKatakana None 10. __________,__________ Stopステートメントに関する説明として正しいものを、次の選択肢の中から1つ解答しなさい。 Stopステートメントは、コードの実行を一時的に停止するが、その後の実行再開は自動的に行われる。 Stopステートメントは、Ifステートメントなどの条件式と組み合わせることはできない。 Stopステートメントは、プロシージャ内に複数設定することができ、コードの異なる場所で実行を中断させるのに利用できる。 Stopステートメントは、プロシージャ内で1回しか使用できない。 None 11. __________,__________ 次のコードは、 セル範囲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 12. __________,__________ VBAコードにおける「引数(ひきすう)」の説明として、最も適切なものを選択肢の中から1つ選びなさい。 マクロの最小実行単位のことである。 マクロの実行を途中で強制的に終了させるための命令のことである。 1つの変数の中に、複数の値を同時に格納できる変数のことである。 プロシージャを呼び出す際に、計算や処理の元となる値を渡す仕組みのことである。 None 13. __________,__________ 次のコードは、A列に入力されている文字列や数値、記号が混在している値の中からコードをカンマで区切り、数値のみをB列に代入するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long, A As Variant, C As For i = 2 To 11 A = Split(Cells(i, 1), ”,”) For Each C In If IsNumeric(C) = True Then Cells(i, 2) = C End If Next C Next iEnd Sub 14. __________,__________ 次のコードは並べ替える時に、数値とテキストを別々に扱うマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“C2”), SortOn:=xlSortOnValues, Order:=xlAscending, := .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 15. __________,__________ 次のコードは、D列を基準に降順でデータを並べ替えるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets("Sheet2"). ..Clear .SortFields.Add2 Key:=Range("D2"), _ SortOn:=xlSortOnValues, _ Order:=xlDescending, _ DataOption:=xlSortNormal .SetRange Range("A1:D9") .Header = xlYes .Apply End With End Sub 16. __________,__________ 以下の文章はテーブルの部位「行」を指定する説明である。 空欄に入る適切な語句を解答しなさい。 ・テーブルの「行」を指定する方法 構造化参照を使って(Rangeとテーブル名を使用して)、テーブルの行を指定することはできません。 テーブルの行を指定したいときは、ListObject. で行全体を表します。 17. __________,__________ 文字列が含まれるセルがあるかどうかを判定してメッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおFunctionプロシージャ内のInStr関数は、検索文字列の指定のセル範囲で見つかった場合は位置を数値で返し、見つからなかった場合は0を返す関数である。 Sub Exam1() Dim SearchCell As String SearchCell = InputBox("探したい文字列は?") If SearchCell <> "" Then If FindStringInSheet (SearchCell) = True Then MsgBox("検索した文字列は見つかりました。") Else MsgBox("検索した文字列は見つかりませんでした。") End If End If End Sub Function FindStringInSheet(searchString As String) As Boolean Dim cell As Range For Each cell In ActiveSheet.Range("A1:C11") If InStr(cell.Value, searchString) > 0 Then FindStringInSheet = True Exit Function End If Next cell FindStringInSheet = End Function 18. __________,__________ 次のマクロは検索したセルの範囲を変換しコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”).Find (What:=“7”) If A Is Nothing Then MsgBox “0” Else A. (1, 3). Copy Range(“E2”) End If End Sub 19. __________,__________ 次の選択肢は、条件を満たした際に処理を実行するマクロの説明である。 適当な選択肢を解答しなさい。 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 上記マクロはAND、ORいずれの条件も満たさない際のマクロの記述である。 上記マクロはすべての条件を満たすAND条件のマクロの記述である。 上記マクロはいずれかの条件を満たすOR条件のマクロの記述である。 None 20. __________,__________ 以下のコードは別のプロシージャを呼び出すマクロである。 空欄に入る適切な語句を選択肢の中から解答しなさい。 【 ① 】 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 【 ② 】Function 【 ① 】Sub 【 ② 】Sub 【 ① 】Function 【 ② 】Function None 21. __________,__________ 次のコードは、新たにDocumentsフォルダの下にReportsフォルダを作成するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:¥Documents¥Reports" End Sub 22. __________,__________ 以下のコードはオートフィルターで絞り込みをし、その後オートフィルターを解除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Japan" Range(Range("D2"), Cells(Rows.count, 4).End(xlUp)) = "ASIA" Range("A1"). End Sub 23. __________,__________ 次のコードは、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 BJapan789 B Japan 789 None 24. __________,__________ 次のマクロはオブジェクト変数を使用したマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Set N = Range("A1") N.Resize(1, 2).Copy Range("C1") End Sub 25. __________,__________ プロシージャの引数に関する説明として間違っているものを、次の中から1つ解答しなさい。 引数はどんな種類の値で受け取るかという型を指定することができる。 プロシージャが引数を複数受け取る際は、引数を(,)カンマで区切って記述をする。 呼び出し元のプロシージャが引数を指定していない時や、引き渡す引数の数に違いがあってもエラーにはならない。 引数を引き受けるプロシージャはプロシージャ名の後に受け取る引数の名前を、括弧で囲い記述する。 None 26. __________,__________ 次のコードは、テーブルのすべてをSheet11のセルB2へコピーするマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet11").Range("B2") End Sub 27. __________,__________ 次のコードは、1番目、2番目の並べ替え基準を指定し並び替えを実行するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlDescending, :=Range("C1"), :=xlAscending, Header:=xlYes MsgBox Range("C3").Value End Sub 28. __________,__________ 次の文章はデバッグ作業の内 、マク口のコードを1行ずつ止めながら実行する説明である。 空欄に入る適切な語句を解答しなさい。 ・VBE内のマク口のコードを1行ずつ止めながら実行するのが です。 ・「上記空欄と同じ」の操作をコードの最初から行うには、実行したいプロシージャの中にカーソルを置き、 キーを押します。 ・実行すると、プロシージャのカーソル置いた箇所が黄色くハイライトされます。 これ以降、「上記空欄と同じ」キーを押すたびに、 1行ずつマクロが実行されます。 29. __________,__________ マクロを特定の行で一時停止(中断)させる方法に関する説明として、不適切なものを選択しなさい。 コードの中に「Stop」ステートメントを記述する。 停止したい行の左側をクリックして「ブレークポイント」を設定する。 コードの中に「Pause」ステートメントを記述する。 キーボードの「F9」キーを押してブレークポイントを設定する。 None 30. __________,__________ 次のコードは、ブックを続けて開き、その後ブック名をメッセージで表示するマクロである。 以下の空欄に入る適切な語句を選択肢の中から解答しなさい。 ・マクロ実行後、最後にアクティブ状態となるブックは【 ① 】である。 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 1.xlsx total.xlsx 2.xlsx 3.xlsx None 31. __________,__________ 次のコードは、表のセル範囲A3:C11のみを、3列目を基準として降順に並べ替えるマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range("A3:C11").Sort Key1:=Range("C3"), Order1:=xlDescending, Header:= End Sub 32. __________,__________ 次のコードを実行したとき、変数Nに格納される値を解答しなさい。値はである。Sub Eaxam1() Dim N As Boolean N= IsDate("2024/13/01") End Sub 33. __________,__________ 次のコードは、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 34. __________,__________ 次のコードにおいて、変数を宣言した直後の変数Aに格納されている「初期値」として正しいものを選択しなさい。 Dim A As Long A = A + 1 Null 0 1 空欄("") None 35. __________,__________ 次のコードを実行したとき、メッセージボックスに表示される値として正しいものを解答しなさい。Sub Exam1() Dim A As Integer A = 5 Call Exam2(A) MsgBox AEnd SubSub Exam2(X As Integer) X = X * 3End Sub 5 コンパイルエラーが発生する。 15 0 None 36. __________,__________ 以下のコードは、テーブル内の"Data2"列のデータ部分を選択するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Range("table1 ").Select End Sub 37. __________,__________ 次のコードは、引数を使わず変数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 38. __________,__________ 次のコードは、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 39. __________,__________ モジュールの先頭に記述することで、すべての変数に対して事前の宣言を強制する語句を解答しなさい。記述: 40. __________,__________ 次のコードを実行後、メッセージに表示される値は である。 空欄に入る適切な語句を解答しなさい。 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