【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.06.30 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 次のコードは、2列目の1行目から15行目に「5」を入力する時に、2列目のセルが空欄の場合には処理を一時停止するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Dim i As Long, valueToInsert As Long valueToInsert = 5 For i = 1 To 15 If Cells(i, 2) = "" Then Else Cells(i, 2).Value = valueToInsert End If Next i End Sub 2. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの上から下に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (2, 4).End()) = "RED" End Sub 3. __________,__________ 以下のマクロを実行したところ、セルC1内に「150」と表示された。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B1") = 50 Exam2() End Sub Sub Exam2() Range("C1") = Range("B1") *3 End Sub 4. __________,__________ 次のコードはセル範囲を選択し、選択したの中から一つずつセルを取り出し、取り出したセルの値を変数に加算するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range,N As Long Range("B1").CurrentRegion.Select For Each A In N = N + A.Value Next A MsgBox N End Sub 5. __________,__________ 次の文章は、デバッグ作業で使うイミディエイトウィンドウの説明と出力コードです。 空欄に入る適切な語句を解答しなさい。 次のコードは実行すると、イミディエイトウィンドウに「12345」を出力します。 Sub Exam1() . 12345 End Sub 6. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込むマクロである。 絞込み後4列目にREDと入力された同じ行の1列目「Data1」の合計値は である。 上記空欄に入る適切な値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Apple" Range (Range ("D2"), Cells (Rows.Count, 4).End(xlUp)) = "RED" End Sub 7. __________,__________ 次のコードは表内を、セルF1に入力された文字列を表内の位置を探し、 見つけた位置を参照して、B列の値をセルG1に入力するマクロである。コード実行後セルG1に入力された値は【 ① 】である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Long With WorksheetFunction N = .Match(Range(“F1”), Range(“C2:C10”), 0) Range(“G1”) = .Index(Range(“B2:B10”), N) End With End Sub United Kingdom Japan United States 600 None 8. __________,__________ VBAのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 論理エラーはVBAの文法的なエラーではないが、論理的な矛盾によって発生するエラーである。 記述エラーは文法エラーとも呼ばれている。 マクロで発生するエラーは大きく分けると、記述エラーと論理エラーに分けられる。 論理エラーは分けるとコンパイルエラーと作業時エラーに分けられる。 None 9. __________,__________ 次のコードは、セルA1を含む表に対して3列目が"100以上かつ、300以下"の条件で絞り込むマクロである。空欄に入る語句を解答しなさい。 Sub Exam1() Range("A1"). 3, ">=100", , "<=300" End Sub 10. __________,__________ 次のコードは、引数を使わず変数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 11. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_8.xlsm」として保存するマクロである。 なおファイル名の「8」は、実行時8月現在の月を表示したものである。 空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook. "C:\Documents¥" & "total_" & Month( ) & ".xlsm" End Sub 12. __________,__________ 次の文書は、漢字の並べ替えの説明である。 【 ① 】に入る適切な順番を選択肢から選び解答しなさい。 ●漢字を並べ替える時の注意点 ・漢字を並べ替える時はセルに設定されている漢字のふりがなで並べ替えます。 具体的にはセルに漢字を入力するとき、日本語変換前に入力した読みが登録されており、それを基準に並び替えています。 例)井田・・・ 1.「せいでん」で変換し入力 2.「いだ」で変換し入力 3.「井田」は変換はせずほかのアプリよりコピーペーストした。 この時の並び替え実施後の順番は【 ① 】の順で並べ替えられる。 3、1、2 1、2、3 2、1、3 None 13. __________,__________ プロシージャの引数に関する説明として間違っているものを、次の中から1つ解答しなさい。 引数を引き受けるプロシージャはプロシージャ名の後に受け取る引数の名前を、括弧で囲い記述する。 引数はどんな種類の値で受け取るかという型を指定することができる。 呼び出し元のプロシージャが引数を指定していない時や、引き渡す引数の数に違いがあってもエラーにはならない。 プロシージャが引数を複数受け取る際は、引数を(,)カンマで区切って記述をする。 None 14. __________,__________ 変数の参照渡しと値渡しに関する説明として間違っているものを、次の中から解答しなさい。 引数の定義の ByVal、ByRef キーワードを省略すると、参照渡しになる。 引数の定義に "ByVal" をつけるときは参照渡しに、"ByRef" をつけると値渡しになる。 参照渡しは変数そのものを渡す。 値渡しは変数に格納された値のコピーを渡す。 None 15. __________,__________ 次のコードは、変数 i の値が 5 になった時に Do...Loop ループを途中で終了させるマクロである。 空欄に入る適切な語句を解答しなさい。Sub Exam1 Dim i As Long i = 1 Do While i <= 10 If i = 5 Then End If i = i + 1 LoopEnd Sub 16. __________,__________ 次の文書は、デバッグについての説明です。空欄に入る適切な選択肢より解答しなさい。 ・デバッグとは、プログラムの誤りやエラーを発見し修正する作業のことです。 ・また、マクロを実行中にエラーが発生すると、エラーメッセージがダイアログボックスに表示されます。 ・ダイアログボックスの下部にある「デバッグ」ボタンをクリックすると、 VBEのコード内でエラー箇所が 【 ① 】色でハイライトされ、実行中のマクロが一時停止状態になります。 ・VBEのこの状態を 【 ② 】と呼び、エラーの検出と修正が可能です。 ① 黄 , ② 実行モード ① 青 , ② フローティング ① 赤 , ② 中断モード ① 黄 , ② デバッグモード None 17. __________,__________ Stopステートメントに関する説明として正しいものを、次の選択肢の中から1つ解答しなさい。 Stopステートメントは、プロシージャ内で1回しか使用できない。 Stopステートメントは、コードの実行を一時的に停止するが、その後の実行再開は自動的に行われる。 Stopステートメントは、Ifステートメントなどの条件式と組み合わせることはできない。 Stopステートメントは、プロシージャ内に複数設定することができ、コードの異なる場所で実行を中断させるのに利用できる。 None 18. __________,__________ 以下のコードは、エラーが発生した際にエラーの詳細を イミディエイトウィンドウに表示し、その後エラー情報をクリアにするマクロです。 空欄に入る適切な語句を解答しなさい。 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 19. __________,__________ 以下のコードはRangeと構造化参照で列を指定して、指定列の右側に列を挿入し、 挿入列の各セルに数式を代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1[[#Data], [Data2]]"). (0, 1).Formula = "= []*1.5" End Sub 20. __________,__________ 次のコードは、 セル範囲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 21. __________,__________ VBAの実行時エラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 実行時エラーが発生しても、通常はVBAコードの実行が停止する。 実行時エラーは、コードの文法には誤りがなくても、実行中に発生するエラーである。 実行時エラーは、ユーザーの入力やファイルの読み込みなど、実行時の状況によって発生することがある。 実行時エラーはコードの実行前に検出される。 None 22. __________,__________ 次のコードは、D列を基準に昇順で並べ替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“D2”), SortOn:=xlSortOnValues, Order:=, DataOption:=xlSortNormal .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 23. __________,__________ 以下のコードは、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 24. __________,__________ 以下のコードは、セルA1を含む表の3列目を300より小さい条件で絞り込み、 その結果全体をSheet5のセルC1にコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "<300" Range("A1"). .Copy Sheets("Sheet5").Range("C1") End Sub 25. __________,__________ 以下のコードは、表の3列目に入力されている値を昇順に並べ替えるマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1").Sort :=Range("D1"), :=xlAscending, :=xlYes End Sub 26. __________,__________ ExcelおよびVBAにおける「シリアル値」の説明として、正しいものを選択しなさい。 日付を「1900年1月1日」を「1」としてカウントした数値のことである。 テーブルの各行に自動的に割り振られるIDのことである。 通信時にデータを1ビットずつ送るための順序番号のことである。 エラーが発生した順番に割り振られる管理番号のことである。 None 27. __________,__________ 次のコードは、見出し行もふくめ全て選択後、行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおテーブル名は”table1”である。 Sub Exam1() With Sheets("sheet1").ListObjects (” ”).Range.Select MsgBox Selection.Rows.Count End With End Sub 28. __________,__________ 次のコードは、セル範囲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 29. __________,__________ 以下のコードはプロシージャが終了すると、宣言したオブジェクト変数を破棄するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range("A1") A.offset(0, 1) = 300 Set A=End Sub 30. __________,__________ 以下のコードは、表の指定範囲の2列目を降順で上下に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“B2”), Order:=xlDescending .SetRange Range(“A1:D10”) .Header = xlYes .MatchCase = False .Orientation = .Apply End With End Sub 31. __________,__________ 次のコードを実行したとき表示されるメッセージはどれか。 正しいものを、選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox TypeName(”True”) End Sub Boolean String True False None 32. __________,__________ 次のコードは、全ての開いているブックの中に"VBA"という名前のシートがあるか確認するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim wb As Workbook Dim ws As Worksheet For Each wb In For Each ws In wb.Sheets If ws.Name = “VBA” Then MsgBox “OK” Exit Sub End If Next ws Next wb MsgBox “Nothing” End Sub 33. __________,__________ テーブル「Table1」の「DATA1」列において、見出しを除いた「データ部分のみ」を指定する構造化参照の記述として正しいものを解答しなさい。Range("Table1[]")あるいはRange("Table1[],[上記空欄と同じ]")と記述します。 34. __________,__________ 次のコードは、セルA1を含む表を2列目が "Potato"と等しい条件で絞り込み、 その結果が何件あるかをメッセージボックスに表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Potato" MsgBox WorksheetFunction. (3, Range("A:A")) – 1 End Sub 35. __________,__________ 以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。 マクロ実行後のアクティブシートのシート名を解答しなさい。・マクロ実行後のアクティブシートのシート名は である。なおオブジェクト変数「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 36. __________,__________ エラーが発生した際に、指定したラベル「 Error1」へ処理を飛ばすための記述を解答しなさい。Sub Exam1() On Error GoTo Error1処理 Exit Sub MsgBox "エラー"End Sub 37. __________,__________ 以下のコードを実行したとき、メッセージボックスに表示される値はである。 空欄に入る適切な語句を解答しなさい。 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 38. __________,__________ 次のコードはテーブルの右側に列を追加し、セルに値を入力するコードである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long With Range("A1").ListObject .ListColumns. A = .ListColumns.Count .ListColumns(A).DataBodyRange = "=[@Data3]*0.7" End With End Sub 39. __________,__________ 次のコードは、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 40. __________,__________ イミディエイトウィンドウの機能として、正しいものを選択肢の中から1つ解答しなさい。 プロシージャの中に記述されたコメントの一覧を表示する。 コードを1行ずつ実行(ステップ実行)するための専用画面である。 プログラムを実行しながら、変数の値を書き換える(代入する)ことができる。 定数(Const)の値を変更するための場所である。 None