【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.06.30 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 次のコードは見出し行も含めテーブル全体を選択し、その行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおシート上にはテーブルは1つのみである。 Sub Exam1() With Sheets("sheet1").ListObjects ().Range.Select MsgBox Selection.Rows.Count End With End Sub 2. __________,__________ 以下のコードは、表の3列目に入力されている値を昇順に並べ替えるマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1").Sort :=Range("D1"), :=xlAscending, :=xlYes End Sub 3. __________,__________ コードにブレークポイントを設定方法する方法は大きく分けて2つあります。説明した文章の以下の空欄に入る適切な語句を解答しなさい。 1.設定したい行にカーソルをおき キーを押して設定する。 2.設定したいコード行の左側にあるインジケーターバーをクリックすることで設定できます。もう一度クリックすると解除されます。 ・設定した箇所は茶色でハイライトされます。また、ブレークポイントを設定した箇所はまだ実行がされていない 状態で一時停止します。 ・デバッグモードで一時停止を再開する場合は、 キーを押すと、該当箇所が黄色でハイライトされた状態になります。 *縦長のバーをクリックする。 4. __________,__________ 次のマクロはオブジェクト変数を使用したマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Set N = Range("A1") N.Resize(1, 2).Copy Range("C1") End Sub 5. __________,__________ 以下のコードはマクロが書かれているブック上のセルを値を取得し、ブックを一つずつ開き、 最後にアクティブ状態のブック名を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 5 Workbooks.Open "C:\Data\" & .ActiveSheet.Cells(i, 1) & ".xlsx" Next i MsgBox ActiveWorkbook.Name End Sub 6. __________,__________ 次のコードは、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 7. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. Offset End Sub 8. __________,__________ 次のコードは指定のセルを含むテーブルを絞り込み、テーブル内の2列目のみコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject .Range.AutoFilter 3, "800" . (2).Range.Copy Sheets("Sheet10").Range("B2") End With End Sub 9. __________,__________ 次のコードは、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 10. __________,__________ 次のコードは、指定のセル範囲内で「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 11. __________,__________ 次のコードは2列目から5列目まで、各列ごとの数値を合計し、その値を合計行に入力するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim total As Long Dim i As Long, j As Long For j = 2 To 5 total = For i = 2 To 8 total = total + Cells Next i Cells(9, j) = total Next j End Sub 12. __________,__________ 次のコードを実行したとき、変数Nに格納される値を解答しなさい。値はである。Sub Eaxam1() Dim N As Boolean N= IsDate("2024/13/01") End Sub 13. __________,__________ 次の選択肢は、条件を満たした際に処理を実行するマクロの説明である。 適当な選択肢を解答しなさい。 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 上記マクロはいずれかの条件を満たすOR条件のマクロの記述である。 上記マクロはすべての条件を満たすAND条件のマクロの記述である。 上記マクロはAND、ORいずれの条件も満たさない際のマクロの記述である。 None 14. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error Goto ErrorHandler ThisWorkbook.Sheets(“Sheet”).Range(“A1”) = ActiveSheet.Range(“B1”) Exit SubErrorHandler: Select Case . Case 9 MsgBox “指定されたシートが見つかりません。” Case Else MsgBox “予期しないエラーが発生しました。” End Select End Sub 15. __________,__________ 以下のコードは、表の2列目が “Canada “または"United Kingdom"の条件で絞り込むマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range( “A1 “).AutoFilter 2, “Canada “, , “United Kingdom" End Sub 16. __________,__________ VBAのコンパイルエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 コンパイルエラーはマクロの実行前に検出されるため、実行前にエラーを修正できる。 コンパイルエラーはマクロの実行中に検出される。 Option Explicitを使用していない場合でも、コンパイルエラーは発生することがある。 コンパイルエラーはコードに論理的な誤りがある場合に発生する。 None 17. __________,__________ 次のコードはシートの左側のテーブルが最初に作成され、右側のテーブルが2番目に作成されたマクロである。 この状態でマクロを実行したとき、下線が設定されたセルの値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, ”Germany” .ListColumns(3).DataBodyRange.Font.Underline = True End With End Sub 18. __________,__________ 次のコードは、表の3列目を200以上かつ500以下の値で絞り込むマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "【 ① 】 200", xlAnd, "【 ② 】500" End Sub ①= ② < ①> ②<= ①>= ② <= ①> ② < None 19. __________,__________ 以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。 マクロ実行後のアクティブシートのシート名を解答しなさい。・マクロ実行後のアクティブシートのシート名は である。なおオブジェクト変数「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 20. __________,__________ 以下のコードはRangeと構造化参照で列を指定して、指定列の右側に列を挿入し、 挿入列の各セルに数式を代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1[[#Data], [Data2]]"). (0, 1).Formula = "= []*1.5" End Sub 21. __________,__________ 次のコードは、セルA1を含む表に対して3列目が「200以上かつ、400以下」の条件で絞り込むマクロである。以下の空欄に入る数値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, ">=200", , "<=400" End Sub 22. __________,__________ 指定したデータが「数値」として認識できるかどうかを判定するコードである。空欄に入る語句を解答しなさい。Dim result As result = IsNumeric("123") 23. __________,__________ 以下のコードを実行したとき、メッセージボックスに表示される値はである。 空欄に入る適切な語句を解答しなさい。 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 24. __________,__________ モジュールの先頭に記述することで、すべての変数に対して事前の宣言を強制する語句を解答しなさい。記述: 25. __________,__________ 次のコードはテーブルにオートフィルターをかけた後、 構造化参照でデータ部分から行を特定し、フィルターで特定したデータを含む行全体を削除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”table1”).AutoFilter 3, ”900” Range(”table1 ”).EntireRow.Delete Range(”table1”).AutoFilter 3 End Sub 26. __________,__________ 以下のマクロを実行したとき、メッセージボックスに「アラタ」と表示された。 コード空欄に入る適切な語句を解答しなさい。 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 27. __________,__________ 次のコードは、セルの値が日付かどうかを判定し、日付であれば"True"、日付でなければ"False"をメッセージボックスに表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Variant i = Range(“A1”).Value If (i) Then MsgBox “True” Else MsgBox “False” End If End Sub 28. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの上から下に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (2, 4).End()) = "RED" End Sub 29. __________,__________ 次のコードは、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 30. __________,__________ 次のマクロは検索したセルの範囲を変換しコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 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 31. __________,__________ 次のコードは、オートフィルターを実行し条件にあった箇所の文字列にアンダーラインつけるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, "Spinach" .ListColumns(3).DataBodyRange. .Underline = True End With End Sub 32. __________,__________ 以下のコード「Exam1」と「Exam2」は同じ結果になる場合があるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, A As Long i = 1 Do Cells(i, 1) <> 0 A = A + Cells(i, 1) * 3 i = i + 1 Loop MsgBox A End Sub ーーーーーーーーーーーーーーーーー Sub Exam2() Dim i As Long, A As Long i = 1 Do Until Cells(i, 1) = 0 A = A + Cells(i, 1) * 3 i = i + 1 Loop MsgBox A End Sub 33. __________,__________ 次のコードは、表のセル範囲A3:C11のみを、3列目を基準として降順に並べ替えるマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range("A3:C11").Sort Key1:=Range("C3"), Order1:=xlDescending, Header:= End Sub 34. __________,__________ 次のコードは、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 35. __________,__________ 次のコードは、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 36. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの一番下から上に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (Rows.Count, 4).End()) = "RED" End Sub 37. __________,__________ イミディエイトウィンドウの機能として、正しいものを選択肢の中から1つ解答しなさい。 プロシージャの中に記述されたコメントの一覧を表示する。 コードを1行ずつ実行(ステップ実行)するための専用画面である。 プログラムを実行しながら、変数の値を書き換える(代入する)ことができる。 定数(Const)の値を変更するための場所である。 None 38. __________,__________ 次のコードは、テーブル内のセルから別のシートにコピーをするマクロである。実行後コピー先シートに反映された行数は 行である。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1"). ListObject. HeaderRowRange .Copy Sheets("Sheet1").Range("B1") End Sub 39. __________,__________ 以下のコードを実行した時表示されるメッセージはである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject.DataBodyRange.Copy Sheets("Sheet9").Range("A1") MsgBox Sheets("Sheet9").Range("C1") End Sub 40. __________,__________ 次のコードは、テーブルの集計行をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Range("E5") End Sub