【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ テーブル「Table1」の「DATA1」列において、見出しを除いた「データ部分のみ」を指定する構造化参照の記述として正しいものを解答しなさい。Range("Table1[]")あるいはRange("Table1[],[上記空欄と同じ]")と記述します。 2. __________,__________ 以下のコードを実行した時表示されるメッセージはである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject.DataBodyRange.Copy Sheets("Sheet9").Range("A1") MsgBox Sheets("Sheet9").Range("C1") End Sub 3. __________,__________ 以下の文章はテーブルの部位「行」を指定する説明である。 空欄に入る適切な語句を解答しなさい。 ・テーブルの「行」を指定する方法 構造化参照を使って(Rangeとテーブル名を使用して)、テーブルの行を指定することはできません。 テーブルの行を指定したいときは、ListObject. で行全体を表します。 4. __________,__________ 次のコードは、指定のセル範囲内で「Banana」という値を検索し、そのセルをコピーしてセルの背景を黄色にするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range("B2:B10").( :=“Banana”, Lookat:=xlWhole) If Not N Is Nothing Then N.Copy Range("C2") Range("C2").Interior.Color = vbYellow End If End Sub 5. __________,__________ 次のコードは、変数 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 6. __________,__________ 次のコードは、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 7. __________,__________ 以下のマクロを実行したとき、メッセージボックスに「アラタ」と表示された。 コード空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As String Range("C2").Phonetic.Text = "ニッタ" Range("C3").Phonetic.Text = "シンデン" Range("C4").Phonetic.Text = "アラタ" Range("A1").Sort Key1:=Range("C1"), Order1:=xlAscending, SortMethod:=, Header:=xlYes N = Range("C2").Phonetic.Text MsgBox N End Sub 8. __________,__________ 次のコードは、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 9. __________,__________ 以下の選択肢はブレークポイントに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 ブレークポイントは、1つのプロシージャ内に1箇所のみ設定することができる。 ブレークポイントを設定した行でマクロが一時停止する。 ブレークポイントを設定するショートカットキーは、一時停止したいコードの行カーソルを置き「F9」キー押下し設定する。 マクロ実行しブレークポイントで一時停止した時、ブレークポイントを設定した行のコードは未実行である。 None 10. __________,__________ テーブル操作において、存在しない列名や範囲を指定してエラーが発生した際、エラーの情報を取得するために使用されるオブジェクト名を解答しなさい。 オブジェクト 11. __________,__________ 次の文章はイミディエイトウィンドウの操作についての説明です。 空欄に入る適切な語句を、選択肢の中から1つ解答しなさい。 ・イミディエイトウィンドウは、マクロが停止しているデバッグモードや、 VBEの【 ① 】メニューから「イミディエイトウィンドウ」を表示することができます。 また変数の内容やプロパティ、実行中のマクロに関する情報を表示し、命令を実行するために使用します。 ・イミディエイトウィンドウの表示方法には、[表示]メニューから以外に、Ctrl + 【 ② 】キーを押す方法もあります。 ①表示 , ② G ① 挿入 , ② D ① ツール , ② W ① 実行 , ② I None 12. __________,__________ 次のコードはオートフィルターをかけた後、見出し行を除いたデータ領域のみをコピーするマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim N As Range Range(”A1”).AutoFilter 2,"Potato" Set N = Range("A1").CurrentRegion.Offset N.Copy Range("E2") Range("A1").AutoFilter 2 End Sub 13. __________,__________ 以下のコードは、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 14. __________,__________ 次のコードは、セルA1を含む表に対して3列目が「200以上かつ、400以下」の条件で絞り込むマクロである。以下の空欄に入る数値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, ">=200", , "<=400" End Sub 15. __________,__________ 次のコードは、セルの値が日付かどうかを判定し、日付であれば"True"、日付でなければ"False"をメッセージボックスに表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Variant i = Range(“A1”).Value If (i) Then MsgBox “True” Else MsgBox “False” End If End Sub 16. __________,__________ 次のコードは、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 17. __________,__________ 次のコードは、配列を使用してメッセージボックスに"Canada_France_Germany"と表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim regions(3) As String regions = "Canada" regions(1) = "France" regions = "Germany" regions(3) = "Italy" MsgBox regions(0) & " _ " & regions(1) & " _ " & regions(2) End Sub 18. __________,__________ 以下のコードを実行後、表示される値はである。 空欄に入る値を答えなさい。 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 19. __________,__________ 次のコードは、B列に入力されている数値のうち 「5番目に小さい数値」を指定のセルに代入するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("E3") = WorksheetFunction. (Range("B1:B20"), 5) 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 【 ② 】Sub 【 ① 】Function 【 ② 】Function 【 ① 】Sub 【 ② 】Sub None 21. __________,__________ 以下のコードは、表の2列目が “Canada “または"United Kingdom"の条件で絞り込むマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range( “A1 “).AutoFilter 2, “Canada “, , “United Kingdom" End Sub 22. __________,__________ 次のコードは、宣言時には要素数を指定せず、途中で要素数を4に指定したマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries As String countries(4) countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” countries(4) = “Japan” MsgBox countries(3) End Sub 23. __________,__________ 次のコードは、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 24. __________,__________ 次のコードはテーブルをオートフィルターで絞り込み、テーブル内の列を複数コピーするマクロである。 実行後メッセージに表示された数値は である。 Sub Exam1() With Range(“A1”).ListObject .Range.AutoFilter 2, “Tennis” .ListColumns(1).Range.Copy Sheets(“Sheet2”).Range(“A1”) .ListColumns(3).Range.Copy Sheets(“Sheet2”).Range(“B1”) End With MsgBox Sheets(“Sheet2”).Range(“A3”) * Sheets(“Sheet2”).Range(“B3”) End Sub 25. __________,__________ 並べ替えの条件を設定する際、コード内の「セルの値」に基づいて並べ替えを行うことを指定する語句を解答しなさい。Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“C2”), :=, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 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. __________,__________ 以下のコードはオートフィルターで絞り込みをし、その後オートフィルターを解除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Japan" Range(Range("D2"), Cells(Rows.count, 4).End(xlUp)) = "ASIA" Range("A1"). End Sub 28. __________,__________ イミディエイトウィンドウの機能として、正しいものを選択肢の中から1つ解答しなさい。 プログラムを実行しながら、変数の値を書き換える(代入する)ことができる。 コードを1行ずつ実行(ステップ実行)するための専用画面である。 プロシージャの中に記述されたコメントの一覧を表示する。 定数(Const)の値を変更するための場所である。 None 29. __________,__________ 以下のコードは、1列目に入力されている "-"で囲まれた国名を抜き出して、2列目に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long Dim A As For i = 2 To 10 A = Split(Cells(i, 1), "-") Cells(i, 2) = A(1) Next i End Sub 30. __________,__________ 次のコードは、B列で"Japan"を探し、見つかったセルを含む行全体を削除するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“B:B”).Find(What:=“Japan”) If A Is Nothing Then MsgBox “見つかりませんでした” Else A..Delete End If End Sub 31. __________,__________ 以下のコードはRangeと構造化参照で列を指定して、指定列の右側に列を挿入し、 挿入列の各セルに数式を代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1[[#Data], [Data2]]"). (0, 1).Formula = "= []*1.5" End Sub 32. __________,__________ 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 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 33. __________,__________ 日本語のデータを「ふりがな」を使って並べ替える際に使用する引数は に定数を指定する。 34. __________,__________ FileCopy ステートメントを実行したときにエラーが発生するケースとして、適切なものを選択しなさい。 コピー元のファイルが読み取り専用である。 保存先のフォルダが存在しない。 コピー元のファイルサイズが 0 バイトである。 コピー先のファイル名がコピー元と異なる。 None 35. __________,__________ 次のコードにおいて、変数を宣言した直後の変数Aに格納されている「初期値」として正しいものを選択しなさい。 Dim A As Long A = A + 1 1 空欄("") 0 Null None 36. __________,__________ 次のコードを実行した時に表示されるメッセージは である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject.ListRows (2).Range.Select MsgBox Selection.Row End With End Sub 37. __________,__________ 以下のコードは配列を使用し、実行した結果メッセージに"Canada"が表示されるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries( To 4) As String countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” countries(4) = “Japan” MsgBox countries(「上記空欄と同じ」) End Sub 38. __________,__________ 次の文章はデバッグ作業の内 、マク口のコードを1行ずつ止めながら実行する説明である。 空欄に入る適切な語句を解答しなさい。 ・VBE内のマク口のコードを1行ずつ止めながら実行するのが です。 ・「上記空欄と同じ」の操作をコードの最初から行うには、実行したいプロシージャの中にカーソルを置き、 キーを押します。 ・実行すると、プロシージャのカーソル置いた箇所が黄色くハイライトされます。 これ以降、「上記空欄と同じ」キーを押すたびに、 1行ずつマクロが実行されます。 39. __________,__________ 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 40. __________,__________ 次のコードは、2列目の値が1000より大きいときは3列目に”High”を入力し、 700より小さいときは3列目に”Low”を入力し、それ以外のときは”Medium”を入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Case Cells(i, 2) Case Is > 1000 Cells(i, 3) = “High” Case < 700 Cells(i, 3) = “Low” Case Cells(i, 3) = “Medium” End Select Next i End Sub