【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 (時間制限について) 多数の問題から出題している性質上、厳密な時間制限は設けておりません。 目安として50分程度で解答されることを想定していますが、ご自身のペースで、時間を気にせずじっくりとお取り組みください。 準備が整い次第、ボタンを押して開始してください。 1. __________,__________ 次のコードは、表のセル範囲を大文字小文字は区別せず並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“B2”), Order:=xlDescending .SetRange Range(“A1:D11”) .Header = xlYes . = False .Apply End With End Sub 2. __________,__________ VBAにおける「マクロの最小実行単位」に関する記述として、適切なものを選択肢の中から1つ選びなさい。 ステートメント モジュール プロジェクト プロシージャ None 3. __________,__________ 以下のコードは、セル範囲A1:A5に入力された数値のうち最も小さい値をセルC1へ代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("C1") = WorksheetFunction. (Range("A1:A5")) End Sub 4. __________,__________ 以下のコードはフィルターで絞り込み後、テーブル内の見出し行ごとコピーし、 シート名「Sheet8」のセルC1に貼り付けるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject. .AutoFilter 3, "700" .Copy Sheets("Sheet8").Range("C1") End With End Sub 5. __________,__________ 次のコードは、指定された範囲内で特定の値を検索し、その値が見つかったセルの相対的な位置をメッセージボックスで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim searchValue As String Dim result As Variant searchValue = “Baseball” result = Application. (searchValue, Range(“A2:A11”), 0) If IsNumeric(result) Then MsgBox searchValue & “ は “ & result & “ 番目にあります。” Else MsgBox searchValue & “ は見つかりませんでした。” End If End Sub 6. __________,__________ 次のコードを実行した時に、メッセージボックスに表示される語句を解答しなさい。 Sub Exam1() Dim countries() As String Redim countries(4) countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” countries(4) = “Japan” MsgBox countries(3) End Sub Italy Germany Japan 何も表示されなかった。 None 7. __________,__________ 次のコードは、セルA1を含む表に対して、2列目を基準にオートフィルターを設定するマクロである。空欄 に入る適切な引数名を解答しなさい。Sub Exam1() Range("A1").AutoFilter := , Criteria1:="White"End Sub 8. __________,__________ 次のコードは、実行したときにメッセージボックスに表示される値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A(3) As Long, N As Variant, i As String A(0) = 3 A(1) = 5 A(2) = 11 A(3) = 9 For Each N In A i = i & N Next N MsgBox i End Sub 9. __________,__________ ExcelおよびVBAにおける「シリアル値」の説明として、正しいものを選択しなさい。 日付を「1900年1月1日」を「1」としてカウントした数値のことである。 テーブルの各行に自動的に割り振られるIDのことである。 通信時にデータを1ビットずつ送るための順序番号のことである。 エラーが発生した順番に割り振られる管理番号のことである。 None 10. __________,__________ 次のコードはシートの左側のテーブルが最初に作成され、右側のテーブルが2番目に作成されたマクロである。 この状態でマクロを実行したとき、下線が設定されたセルの値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, ”Germany” .ListColumns(3).DataBodyRange.Font.Underline = True End With End Sub 11. __________,__________ 次のコードは指定のセルを含むテーブルを絞り込み、テーブル内の2列目のみコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject .Range.AutoFilter 3, "800" . (2).Range.Copy Sheets("Sheet10").Range("B2") End With End Sub 12. __________,__________ 次のコードは、全ての開いているブックの中に"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 13. __________,__________ 次のコードは、テーブル内のセルよりテーブル全体を特定し、コピーを実行するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”A1”). ..Copy Sheets(”Sheet7”).Range(”B1”) End Sub 14. __________,__________ 次のコードは、ブックが保護されているかどうかを確認するマクロです。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() If ThisWorkbook. = True Then MsgBox “Protected” Else MsgBox “NG” End If End Sub 15. __________,__________ 次のコードは、指定されたセル範囲の中から空欄をチェックし、最初に見つかった空欄セルの位置をメッセージボックスで表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim cell As Range For Each cell In ("A1:A10") If cell.Value = "" Then MsgBox cell. Exit Sub End If Next cell End Sub 16. __________,__________ 並べ替えを実行する際、の説明として以下の空入る正しいものを解答しなさい。・タイトル行(ヘッダー)があるかどうかをExcelに自動判別させる設定としてを引数として指定する。なお数値で指定する場合はを指定する。 17. __________,__________ Stopステートメントに関する説明として正しいものを、次の選択肢の中から1つ解答しなさい。 Stopステートメントは、コードの実行を一時的に停止するが、その後の実行再開は自動的に行われる。 Stopステートメントは、プロシージャ内で1回しか使用できない。 Stopステートメントは、Ifステートメントなどの条件式と組み合わせることはできない。 Stopステートメントは、プロシージャ内に複数設定することができ、コードの異なる場所で実行を中断させるのに利用できる。 None 18. __________,__________ VBAの実行時エラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 実行時エラーはコードの実行前に検出される。 実行時エラーは、ユーザーの入力やファイルの読み込みなど、実行時の状況によって発生することがある。 実行時エラーは、コードの文法には誤りがなくても、実行中に発生するエラーである。 実行時エラーが発生しても、通常はVBAコードの実行が停止する。 None 19. __________,__________ 次のコードは、表の3列目を「500以上」の値で絞り込むマクロである。 絞り込み条件(抽出条件)を指定する引数名として正しいものを解答しなさい。 Sub Exam1() Range("A1").AutoFilter Field:=3, ">=500"End Sub 20. __________,__________ 以下のコードを実行後、表示される値はである。 空欄に入る値を答えなさい。 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 21. __________,__________ コードにブレークポイントを設定方法する方法は大きく分けて2つあります。説明した文章の以下の空欄に入る適切な語句を解答しなさい。 1.設定したい行にカーソルをおき キーを押して設定する。 2.設定したいコード行の左側にあるインジケーターバーをクリックすることで設定できます。もう一度クリックすると解除されます。 ・設定した箇所は茶色でハイライトされます。また、ブレークポイントを設定した箇所はまだ実行がされていない 状態で一時停止します。 ・デバッグモードで一時停止を再開する場合は、 キーを押すと、該当箇所が黄色でハイライトされた状態になります。 *縦長のバーをクリックする。 22. __________,__________ 次のコードは、セルA1を含む表に対して3列目が「200以上かつ、400以下」の条件で絞り込むマクロである。以下の空欄に入る数値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, ">=200", , "<=400" End Sub 23. __________,__________ 以下のコードは、ユーザーが指定した語句の順番に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 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 24. __________,__________ 次のコードは実行したとき、メッセージボックスに「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 25. __________,__________ 以下のコードは、エラーが発生したら処理を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 Error Err GoTo On Error None 26. __________,__________ 以下のコードは、表の指定範囲の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 27. __________,__________ 次のコードは、B列に入力されている数値のうち 「5番目に小さい数値」を指定のセルに代入するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("E3") = WorksheetFunction. (Range("B1:B20"), 5) End Sub 28. __________,__________ 次のコードは日本語のふりがなを設定し、そのふりがなを使って並べ替えるマクロである。 コード空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("C2").Phonetic.Text = "ニッタ" Range("C3").Phonetic.Text = "シンデン" Range("C4").Phonetic.Text = "アラタ" Range("A1").Sort Key1:=Range("C1"), Order1:=xlAscending, :=xlPinYin, Header:=xlYes End Sub 29. __________,__________ 次のマクロは、Cドライブの「Temp」フォルダにあるファイルを、同じフォルダ内へ別名でコピーするものである。 コピー先となる「Backup.xlsx」が既に存在している状態でこのマクロを実行したとき、どのような結果になるか適切なものを選択しなさい。Sub Exam1() Dim A As String Dim N As String A = ”C:\Temp\Data.xlsx” N = ”C:\Temp\Backup.xlsx” FileCopy A, NEnd Sub 確認メッセージは表示されず、既存のファイルが上書きされてマクロが終了する。 「既にファイルが存在します。上書きしますか?」という確認メッセージが表示される。 エラーメッセージが表示され、マクロの実行が中断される。 コピーは行われず、既存のファイルが保護されたままマクロが終了する。 None 30. __________,__________ 次のコードは、セルA1を含む表を2列目が "Potato"と等しい条件で絞り込み、 絞り込んだ結果の値の合計をメッセージボックスに表示するマクロである。 空欄に入る適切な引数を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Potato" MsgBox WorksheetFunction.Subtotal(, Range("A:A")) End Sub 31. None 32. __________,__________ 次のコードは、シート上セルの値を使用したファイルパスでブックを開くことを想定したマクロである。 次の選択肢の中からブックを開く適切なコードを選択しなさい。 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 33. __________,__________ 次のコードは、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 34. __________,__________ データ内の不要な文字を除去する際に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Resize Replace Place StrConv None 35. __________,__________ 次のコードは、コードの途中で配列の要素数を増やし、その後メッセージボックスに"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 36. __________,__________ 次のコードは、テーブルの見出し行のみを指定のシートへコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet1").Range("B2") End Sub 37. __________,__________ VBAにおける配列の仕様について、正しいものを選択肢の中から1つ解答しなさい。 配列の下限数は、常に「0」から始まる。 配列の下限数は、要素のデータ型によって決まる。 配列を「Dim A(5)」と宣言したとき、要素の下限数は「1」である。 配列の下限数は、宣言時に「Dim A(1 To 5)」のように明示的に指定できる。 None 38. __________,__________ 次のコードは、引数を使わず変数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 39. __________,__________ 以下のコードは、表の4列目を検索しセルの位置を特定しセルの値をセルG2へ入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("G1") = WorksheetFunction.(Range("F1"), Range("A1:D10"), 4, False) End Sub 40. __________,__________ 以下のコードは、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 And = & Plus None Time's up