【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 (時間制限について) 多数の問題から出題している性質上、厳密な時間制限は設けておりません。 目安として50分程度で解答されることを想定していますが、ご自身のペースで、時間を気にせずじっくりとお取り組みください。 準備が整い次第、ボタンを押して開始してください。 1. __________,__________ 次のマクロは、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 2. __________,__________ 次のコードは、テーブル内のセルから別のシートにコピーをするマクロである。実行後コピー先シートに反映された行数は 行である。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1"). ListObject. HeaderRowRange .Copy Sheets("Sheet1").Range("B1") End Sub 3. __________,__________ 次の文章はイミディエイトウィンドウのコードウィンドウの切り離しについての説明です。 空欄に入る適切な語句を解答しなさい。 ・イミディエイトウィンドウは、タイトルバーをドラッグすることでコードウィンドウから分離し、任意の位置に配置することができます。 ・コードウィンドウに接続されている状態を 【 ① 】 と呼び、分離した状態を 【 ② 】 と呼びます。 ①の状態図 ②の状態図 ①ドッキング , ②フローティング ①タイリング , ②フローティング ①固定 , ② ドッキング ング ① フローティング , ②ドッキング None 4. __________,__________ 以下の選択肢はステップインに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 マクロを最初からステップイン実行するには、実行したいプロシージャの先頭にカーソルを置く必要はない。 ステップインの実行するショートカットキーは、「F8」キーを押下すると実行できる。 ステップイン実行時黄色くハイライトしている行は、次に実行するコード行である。 ステップインでは1行ずつコードを実行できない。 None 5. __________,__________ プロシージャの引数に関する説明として間違っているものを、次の中から1つ解答しなさい。 引数はどんな種類の値で受け取るかという型を指定することができる。 呼び出し元のプロシージャが引数を指定していない時や、引き渡す引数の数に違いがあってもエラーにはならない。 プロシージャが引数を複数受け取る際は、引数を(,)カンマで区切って記述をする。 引数を引き受けるプロシージャはプロシージャ名の後に受け取る引数の名前を、括弧で囲い記述する。 None 6. __________,__________ 次のコードは、指定したセル範囲に入力されている数値を合計し、 その合計値を別のセルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B20") = . (Range("B1:B19")) End Sub 7. __________,__________ ExcelおよびVBAにおける「シリアル値」の説明として、正しいものを選択しなさい。 通信時にデータを1ビットずつ送るための順序番号のことである。 エラーが発生した順番に割り振られる管理番号のことである。 テーブルの各行に自動的に割り振られるIDのことである。 日付を「1900年1月1日」を「1」としてカウントした数値のことである。 None 8. __________,__________ 以下のコードは、セルA1を含む表の3列目を300より小さい条件で絞り込み、 その結果全体をSheet5のセルC1にコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "<300" Range("A1"). .Copy Sheets("Sheet5").Range("C1") End Sub 9. __________,__________ 次のコードは、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 10. __________,__________ VBAにおける「配列」の説明として、最も適切なものを選択肢の中から1つ選びなさい。 1つの変数につき、1つの値のみを格納できる仕組みである。 呼び出し元のプロシージャへ値を返す専用の関数である。 複数の値を同時に格納することができる変数のことである。 条件を満たすまで処理を繰り返すための制御構造である。 None 11. __________,__________ 以下のコードは、指定したセル範囲から値をひとつずつ取り出し、変数に格納するマクロである。 実行後メッセージに表示された値は である。 空欄に入る適切な値を解答しなさい。 Sub Exam1() Dim N As Range, A As Long For Each N In Range("A1:A10") A = A + N Next N MsgBox A End Sub 12. __________,__________ 次のコードは、見出し行もふくめ全て選択後、行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおテーブル名は”table1”である。 Sub Exam1() With Sheets("sheet1").ListObjects (” ”).Range.Select MsgBox Selection.Rows.Count End With End Sub 13. __________,__________ 次のコードは実行すると「Banana」と表示するマクロである。 以下の空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:=" ", Lookat:= xlWhole) MsgBox A.Offset(0, 1) End Sub 14. __________,__________ 配列に関する用語の説明として、正しい組み合わせを選択肢の中から1つ選びなさい。 値を格納する箱を「メンバ」、箱番号を「プロパティ」と呼ぶ。 値を格納する箱を「要素」、箱番号を「インデックス番号」と呼ぶ。 値を格納する箱を「変数」、箱番号を「タグ番号」と呼ぶ。 値を格納する箱を「引数」、箱番号を「要素数」と呼ぶ。 None 15. __________,__________ コードにブレークポイントを設定方法する方法は大きく分けて2つあります。説明した文章の以下の空欄に入る適切な語句を解答しなさい。 1.設定したい行にカーソルをおき キーを押して設定する。 2.設定したいコード行の左側にあるインジケーターバーをクリックすることで設定できます。もう一度クリックすると解除されます。 ・設定した箇所は茶色でハイライトされます。また、ブレークポイントを設定した箇所はまだ実行がされていない 状態で一時停止します。 ・デバッグモードで一時停止を再開する場合は、 キーを押すと、該当箇所が黄色でハイライトされた状態になります。 *縦長のバーをクリックする。 16. __________,__________ 次のコードを実行したとき表示されるメッセージはどれか。 正しいものを、選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox TypeName(”True”) End Sub Boolean String True False None 17. __________,__________ 次のコードは、ブックにNOW関数を利用し今日の日付と時刻で 「2024_08_04_0610.xlsm」のような形式のファイル名で保存するマクロである。 空欄に入る最も適切な語句の組み合わせを選択肢より解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs "C:\Backup\" &【 ① 】 (Now, "【 ② 】") & ".xlsm" End Sub 【 ① 】Text【 ② 】 yyyy_mm_dd_hhnn 【 ① 】 DateValue【 ② 】 yyyy_mm_dd_hhnn 【 ① 】Format 【 ② 】yyyymmddhhnn 【 ① 】 Format 【 ② 】yyyy_mm_dd_hhnn None 18. __________,__________ 以下のコードはオートフィルターで絞り込みをし、その後オートフィルターを解除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Japan" Range(Range("D2"), Cells(Rows.count, 4).End(xlUp)) = "ASIA" Range("A1"). End Sub 19. __________,__________ 次のコードは、セルA1を含む表に対して、2列目を基準にオートフィルターを設定するマクロである。空欄 に入る適切な引数名を解答しなさい。Sub Exam1() Range("A1").AutoFilter := , Criteria1:="White"End Sub 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 【 ① 】Sub 【 ② 】Function 【 ① 】Function 【 ② 】Function 【 ① 】Function 【 ② 】Sub 【 ① 】Sub 【 ② 】Sub None 21. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As Worksheet ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub 22. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. Offset End Sub 23. __________,__________ 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 24. __________,__________ 次のコードはセル範囲を選択し、選択したの中から一つずつセルを取り出し、取り出したセルの値を変数に加算するマクロである。 空欄に入る適切な語句を解答しなさい。 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 25. __________,__________ 次のコードは見出し行も含めテーブル全体を選択し、その行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおシート上にはテーブルは1つのみである。 Sub Exam1() With Sheets("sheet1").ListObjects ().Range.Select MsgBox Selection.Rows.Count End With End Sub 26. __________,__________ 次のコードは、表の3列目を100より大きく500より小さい値で絞り込むマクロである。 以下の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, " 【 ① 】 100", xlAnd, " 【 ② 】 500" End Sub ①= ②< ① > ②<= ①>= ②<= ① > ②< None 27. __________,__________ 次のコードは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 28. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_7.xlsx」として保存するマクロである。 なおブック名の「7」は、7月現在の月を表示したものである。 以下の空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook."C:\Documents¥" & "total_" & (Now) & ".xlsm" End Sub 29. __________,__________ 次のコードにおいて、変数を宣言した直後の変数Aに格納されている「初期値」として正しいものを選択しなさい。 Dim A As Long A = A + 1 1 Null 0 空欄("") None 30. __________,__________ 次のコードは、セルA1を含む表に対して3列目が「200以上かつ、400以下」の条件で絞り込むマクロである。以下の空欄に入る数値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, ">=200", , "<=400" End Sub 31. __________,__________ Stopステートメントに関する説明として正しいものを、次の選択肢の中から1つ解答しなさい。 Stopステートメントは、プロシージャ内に複数設定することができ、コードの異なる場所で実行を中断させるのに利用できる。 Stopステートメントは、プロシージャ内で1回しか使用できない。 Stopステートメントは、Ifステートメントなどの条件式と組み合わせることはできない。 Stopステートメントは、コードの実行を一時的に停止するが、その後の実行再開は自動的に行われる。 None 32. __________,__________ 次のコードを実行した時に表示されるメッセージは である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject.ListRows (2).Range.Select MsgBox Selection.Row End With End Sub 33. __________,__________ 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range("A2:D10").Find(What:="Italy", :=xlWhole) If Not N Is Nothing Then MsgBox N.Address End If End Sub 34. __________,__________ 以下のコードは、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 35. __________,__________ 以下のコードはフィルターで絞り込み後、テーブル内の見出し行ごとコピーし、 シート名「Sheet8」のセルC1に貼り付けるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject. .AutoFilter 3, "700" .Copy Sheets("Sheet8").Range("C1") End With End Sub 36. __________,__________ 次のコードは、Cドライブ下Documentsフォルダ内で、 ファイル名"total2023.xlsx"を"backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 以下の説明の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() FileCopy "C:\Documents\total2023.xlsx", "C:\Documents\backup\backup2023.xlsx" End Sub ・コピー先のフォルダにすでに同じ名前のファイルがある場合、上書きするかの確認メッセージは表示【 ① 】 ・コピー先に存在しないフォルダを指定するとエラーメッセージは表示【 ② 】 【 ① 】される。【 ② 】されない。 【 ① 】される。【 ② 】される。 【 ① 】されない。【 ② 】されない。 【 ① 】されない。【 ② 】される。 None 37. __________,__________ イミディエイトウィンドウの機能として、正しいものを選択肢の中から1つ解答しなさい。 定数(Const)の値を変更するための場所である。 コードを1行ずつ実行(ステップ実行)するための専用画面である。 プロシージャの中に記述されたコメントの一覧を表示する。 プログラムを実行しながら、変数の値を書き換える(代入する)ことができる。 None 38. __________,__________ 次のコードは、表の3列目を「500以上」の値で絞り込むマクロである。 絞り込み条件(抽出条件)を指定する引数名として正しいものを解答しなさい。 Sub Exam1() Range("A1").AutoFilter Field:=3, ">=500"End Sub 39. __________,__________ 次のコードは、1列目を見出しごと選択し、選択した列数を表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject. .Range .Select MsgBox Selection.Columns.Count End Sub 40. __________,__________ 変数の参照渡しと値渡しに関する説明として間違っているものを、次の中から解答しなさい。 値渡しは変数に格納された値のコピーを渡す。 引数の定義に "ByVal" をつけるときは参照渡しに、"ByRef" をつけると値渡しになる。 引数の定義の ByVal、ByRef キーワードを省略すると、参照渡しになる。 参照渡しは変数そのものを渡す。 None Time's up