【ランダム順出題】Excel VBA スタンダード 模擬試験 240問中40問ランダム出題 ベータ版 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292025.11.08 制限時間は50分です。 問題の出題順や選択肢の並び順は、サイト側で自動でシャッフルされます。 準備が整い次第、ボタンを押して始めてください。 1. __________,__________ 次のコードはシートの左側のテーブルが最初に作成され、右側のテーブルが2番目に作成されたマクロである。 この状態でマクロを実行したとき、下線が設定されたセルの値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, ”Germany” .ListColumns(3).DataBodyRange.Font.Underline = True End With End Sub 2. __________,__________ 次のコードは2列目から5列目まで、各列ごとの数値を合計し、その値を合計行に入力するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim total As Long Dim i As Long, j As Long For j = 2 To 5 total = 0 For i = 2 To 8 total = total + Cells Next i Cells(9, j) = total Next j End Sub 3. __________,__________ 次のコードは、セル範囲内を合計するSUM関数をVBAで実行するマクロである。 以下の空欄に入る空欄に入る最も適切な選択肢を解答しなさい。 Sub Exam1() Range("C15") = 【 ① 】.Sum(Range("C1:C14")) End Sub worksheetfunctions Application.WorksheetFunction Application worksheetfunction None 4. __________,__________ 以下のコードは numberの値が10の倍数であるかを調べ、メッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim number As Integer Dim result As String number = 25 result = (number) MsgBox number & " は " & result & " です。" End Sub Function IsMultipleOfTen(num As Integer) As String If num Mod 10 = 0 Then 「上記空欄と同じ」 = "10の倍数" Else 「上記空欄と同じ」= "10の倍数ではない" End If End Function 5. __________,__________ 次のコードは、2列目の各セルに入力されている半角文字を全角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, vbWide) Next i End Sub 6. __________,__________ 以下のコードは、実行すると値を表示するマクロである。 実行後、表示された値は である。 空欄に入る値を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“B:B”). Find (What:=”United States”) If A Is Nothing Then MsgBox “0” Else A.Offset(0, 1) = A.Offset(0, 1) *0.5 MsgBox A.Offset(0, 1).Value End If End Sub 7. __________,__________ 次のコードは、変数Bのデータの形式を判定してメッセージボックスに表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant B = 123.45 If (B) = “Double” Then MsgBox “Bの型は「Double」です” Else MsgBox “Bの型は「Double」ではありません” End If End Sub 8. __________,__________ 以下のコードは、表の3列目に入力されている値を降順に並べ替えるマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1").Sort Key1:=Range("C1"), :=xlDescending, header:=xlYes End Sub 9. __________,__________ 次のコードはテーブルにオートフィルターをかけた後、 構造化参照でデータ部分から行を特定し、フィルターで特定したデータを含む行全体を削除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”table1”).AutoFilter 3, ”900” Range(”table1 ”).EntireRow.Delete Range(”table1”).AutoFilter 3 End Sub 10. __________,__________ 次のコードは、"C:\Local\total.xlsx"のブックを開いた後、 "C:\Backup\total_backup.xlsx"へ場所やファイル名かえてブックを保存するマクロである。なお開いて保存するワークブックは、現在コードが記述されたブックとは別のブックである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Workbooks.Open "C:\Local\total.xlsx" . Saveas "C:\Backup\total_backup.xlsx" 「上記空欄と同じ」.Close End Sub 11. __________,__________ 次のコードは実行したとき、メッセージボックスには6が表示されるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N ( ) As Long ReDim N( ) N(0) = 0 N(1) = 1 N(2) = 2 N(3) = 3 MsgBox N(0) + N(1) + N(2) + N(3) End Sub 12. __________,__________ 以下のコードは、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 13. __________,__________ 次のコードは宣言時には、配列の要素数の上限数が不明であり、指定の値を区切り文字で区切り配列に格納するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant, i As Long B = (“Canada:France:Germany”, “:”) For i = 0 To UBound(B) MsgBox B(i) Next i End Sub 14. __________,__________ 次のコードは、B列に入力されている数値のうち 「5番目に小さい数値」を指定のセルに代入するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("E3") = WorksheetFunction. (Range("B1:B20"), 5) End Sub 15. __________,__________ 次のコードは、指定のセル範囲内で「Banana」という値を検索し、そのセルをコピーしてセルの背景を黄色にするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range("B2:B10").(What:=“Banana”, Lookat:=xlWhole) If Not N Is Nothing Then N.Copy Range("C2") Range("C2").Interior.Color = vbYellow End If End Sub 16. __________,__________ 次のコードは、1列目を”7”を検索し、見つかったセルを含む1列目から3列目までのセルをコピーし貼り付けするマクロである。 マクロ実行後セルF2内の値はある。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”).Find (What:=“7”) If A Is Nothing Then MsgBox “0” Else A. Resize (1, 3). Copy Range(“E2”) End If End Sub 17. __________,__________ 次の選択肢は、条件を満たした際に処理を実行するマクロの説明である。 適当な選択肢を解答しなさい。 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 上記マクロはAND、ORいずれの条件も満たさない際のマクロの記述である。 上記マクロはすべての条件を満たすAND条件のマクロの記述である。 上記マクロはいずれかの条件を満たすOR条件のマクロの記述である。 None 18. __________,__________ 次のコードは、対象のセル範囲に負の数があれば、メッセージボックスに”-”と表示後、繰り返し処理を終了し、”0”が見つかった場合にはメッセージを表示後、プロシージャを終了するマクロである。 空欄①、②に入る適切な語句の組み合わせを選択肢から解答しなさい。 Sub Exam1() Dim cell As Range Dim sourceRange As Range Set sourceRange = Worksheets(“Sheet1”).Range(“A1:A10”) For Each cell In sourceRange If cell.Value < 0 Then MsgBox “-” Exit 【 ① 】 ElseIf cell.Value = 0 Then MsgBox “0” Exit 【 ② 】 End If Next cell End Sub ①For ②Sub ①For ②Function ①Sub ②For ①Sub ②Function None 19. __________,__________ 次のコードは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(i, j) Next i Cells(9, j) = total Next j End Sub 20. __________,__________ 次のコードはテーブル全体をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。なおテーブルの名前は画像の左上に表示されています。 Sub Exam1() With Range(" [#All]") .Copy Sheets("Sheet12").Range("B2") End With End Sub 21. __________,__________ 以下のコードを実行した時表示されるメッセージはである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject.DataBodyRange.Copy Sheets("Sheet9").Range("A1") MsgBox Sheets("Sheet9").Range("C1") End Sub 22. __________,__________ 次のコードはオートフィルターをかけた後、見出し行を除いたデータ領域のみをコピーするマクロである。 空欄に入る適切な語句を入力しなさい。 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 23. __________,__________ 次のコードは、指定されたセル範囲の中から空欄をチェックし、最初に見つかった空欄セルの位置をメッセージボックスで表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim cell As Range For Each cell In ("A1:A10") If cell.Value = "" Then MsgBox cell.Address Exit Sub End If Next cell End Sub 24. __________,__________ 次のコードは、1番目、2番目の並べ替え基準を指定し並び替えを実行するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlDescending, :=Range("C1"), Order2:=xlAscending, Header:=xlYes MsgBox Range("C3").Value End Sub 25. __________,__________ 次のコードは、2列目が"Germany"であるデータを、見出し行も含め全てSheet5のセルB1へコピーするマクロである。コードの実行結果 個分のセルがコピーされた。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject.Range .AutoFilter 2, "Germany" .Copy Sheets("Sheet6").Range("B1") .AutoFilter 2 End With End Sub 26. __________,__________ 次のコードは、ブックの保存状態を調べ、調べた結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs “book.xlsm” If ThisWorkbook. = True Then MsgBox “Changed” Else MsgBox “No Changed” End IfEnd Sub 27. __________,__________ 以下のコードは、エラーが発生した際にエラーの詳細を イミディエイトウィンドウに表示し、その後エラー情報をクリアにするマクロです。 空欄に入る適切な語句を解答しなさい。 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 28. __________,__________ 以下のコードは、エラーが発生したら処理を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 On Error Err GoTo Error None 29. __________,__________ 以下の文書は、マクロの論理エラーを発生するタイミングに応じて2つに分類したものです。 空欄に入る適切なものを選択肢中なかから1つ解答しなさい。 ・論理エラー ∟【 ① 】 エラー・・・ マクロが実行される際、VBEはコード全体を「Excel が理解できる形式」に変換します。 この変換は①「上記空欄と同じ」と呼ばれています。この時点で論理的な誤りが検出されると、実行前にエラーが発生します。 ∟【 ② 】エラー・・・ 論理的な誤りが含まれていても、その部分が実際に実行されるまでエラーが発生しない場合があります。 ① 実行時 , ② コンパイル ① コンパイル , ② 実行時 ① 記述 , ② 構文 ① 構文 , ② 記述 None 30. __________,__________ 次のコードは、For…Nextステートメントを用いて、1列目の値が”Boxing” か”Swimming”のときは2列目に”〇”を代入し、 それ以外の時は2列目に”Ballgame”を代入するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Select Case Cells(i, 1) Case “Boxing”, “Swimming” Cells(i, 2) = “〇” Case Cells(i, 2) = “Ballgame” End Select Next i End Sub 31. __________,__________ 次のコードはセル内の書式を統一し、その書式を統一した値を同じセルに代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long Dim j As Long For i = 2 To 6 For j = 1 To 3 Cells(i, j). = "yy/mm/dd" Cells(i, j).Value = Cells(i, j).Value Next j Next i End Sub 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. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As Worksheet ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub 34. __________,__________ 次のコードは、表のセル範囲を大文字小文字は区別せず並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 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 35. __________,__________ 次のコードは、指定された範囲内で特定の値を検索し、その値が見つかったセルの相対的な位置をメッセージボックスで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 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 36. __________,__________ 以下の文章はテーブルの部位「行」を指定する説明である。 空欄に入る適切な語句を解答しなさい。 ・テーブルの「行」を指定する方法 構造化参照を使って(Rangeとテーブル名を使用して)、テーブルの行を指定することはできません。 テーブルの行を指定したいときは、ListObject. で行全体を表します。 37. __________,__________ 次のコードは宣言時には、配列の要素数の上限数が不明であり、指定の値を区切り文字で区切り配列に格納するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant, i As Long B = Split (“Canada:France:Germany”, “:”) For i = 0 To (B) MsgBox B(i) Next i End Sub 38. __________,__________ 次のコードは、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 39. __________,__________ 次のコードは、セルA1を含む表を2列目が"Apple"と等しい条件で絞り込み、 その結果が何件あるかをメッセージボックスに表示するマクロである。 マクロ実行後、表示された値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Apple" MsgBox WorksheetFunction.Subtotal(3, Range("A:A")) -1 End Sub 40. __________,__________ 次のコードは、2列目に入力されている日付から、前月の月末日を3列目に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 6 Cells(i, 3) = WorksheetFunction.EoMonth (Cells(i, 2), ) Next i End Sub