【ランダム順出題】Excel VBA スタンダード 模擬試験 ④ Excel VBA スタンダード 模擬問題 模擬試験 2025.09.282025.10.02 【ランダム順出題】Excel VBA スタンダード 模擬試験 ④ 1. __________,__________ 以下のコードは別のプロシージャを呼び出すマクロである。 空欄に入る適切な語句を選択肢の中から解答しなさい。 【 ① 】 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 【 ① 】Sub 【 ② 】Sub 【 ① 】Function 【 ② 】Sub 【 ① 】Function 【 ② 】Function None 2. __________,__________ コードにブレークポイントを設定方法する方法は大きく分けて2つあります。説明した文章の以下の空欄に入る適切な語句を解答しなさい。 1.設定したい行にカーソルをおき キーを押して設定する。 2.設定したいコード行の左側にあるインジケーターバーをクリックすることで設定できます。もう一度クリックすると解除されます。 ・設定した箇所は茶色でハイライトされます。また、ブレークポイントを設定した箇所はまだ実行がされていない 状態で一時停止します。 ・デバッグモードで一時停止を再開する場合は、F5キーを押すと、該当箇所が黄色でハイライトされた状態になります。 *縦長のバーをクリックする。 3. __________,__________ 次のコードは、セルA1を含む表を2列目が "Potato"と等しい条件で絞り込み、 その結果が何件あるかをメッセージボックスに表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Potato" MsgBox WorksheetFunction. (3, Range("A:A")) – 1 End Sub 4. __________,__________ 次のコードは、オートフィルターを実行し条件にあった箇所の文字列にアンダーラインつけるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, "Spinach" .ListColumns(3).DataBodyRange. .Underline = True End With End Sub 5. __________,__________ 次のコードはテーブルの右側に列を追加し、セルに値を入力するコードである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long With Range("A1").ListObject .ListColumns. A = .ListColumns.Count .ListColumns(A).DataBodyRange = "=[@Data3]*0.7" End With End Sub 6. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_8.xlsm」として保存するマクロである。 なおファイル名の「8」は、実行時8月現在の月を表示したものである。 空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook. "C:\Documents¥" & "total_" & Month(Now) & ".xlsm" End Sub 7. __________,__________ 次のコードは、見出し行もふくめ全て選択後、行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおテーブル名は”table1”である。 Sub Exam1() With Sheets("sheet1").ListObjects (” ”).Range.Select MsgBox Selection.Rows.Count End With End Sub 8. __________,__________ 次のコードは、2列目に入力されている日付から、前月の月末日を3列目に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 6 Cells(i, 3) = WorksheetFunction. (Cells(i, 2), -1) Next i End Sub 9. __________,__________ データクレンジングをするために、 年月日の各指定の値からExcelが日付と認識できるように作成したい。このような時に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Day Dateserial IsDate Date None 10. __________,__________ 次のコードは、シート上セルの値を使用したファイルパスでブックを開くことを想定したマクロである。 次の選択肢の中からブックを開く適切なコードを選択しなさい。 Workbooks.Open "C:\User\" & Range("A2") & "1.xlsx" Workbooks.Open"C:\User\" & "Range("A2")" & "1.xlsx" Workbook.Open "C:\User\" & Range("A2") & "1.xlsx" Workbooks.Open "C:\User\" & "Range("A2")" & "1" & .xlsx" None 11. __________,__________ 次のコードはセル範囲を選択し、選択したの中から一つずつセルを取り出し、取り出したセルの値を変数に加算するマクロである。 空欄に入る適切な語句を解答しなさい。 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 12. __________,__________ 次のコードは、A列に入力されている値から、当月の月末日を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim endOfMonth As Date endOfMonth = WorksheetFunction. (DateSerial(Range(“A1”).Value, Range(“A2”).Value, Range(“A3”).Value), 0) MsgBox “月末の日付は” & endOfMonth End Sub 13. __________,__________ 次のマクロはオブジェクト変数を使用したマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Set N = Range("A1") N.Resize(1, 2).Copy Range("C1") End Sub 14. __________,__________ 次のコードは、表の指定範囲を2列目を基準に上下に並び変えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“B2”), Order:=xlDescending .SetRange Range(“A1:C11”) .Header = xlYes .MatchCase = False . = xlTopToBottom .Apply End With End Sub 15. __________,__________ 次のコードは、テーブル内のセルからテーブルの見出し行を特定しコピーをするマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1"). . HeaderRowRange .Copy Sheets("Sheet1").Range("B1") End Sub 16. __________,__________ 次のコードは、整数を引数として受け取り、その値が10より大きいかどうかを判定し、 値が10以下の場合、処理を途中で終了し、値が10より大きい場合は “10を超えています” というメッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim result As String Dim N As Integer N = 15 result = CheckNumber(N) MsgBox result End Sub Function CheckNumber(N As Integer) As String If N <= 10 Then Exit End If CheckNumber = “10を超えています” End Function 17. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの一番下から上に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (Rows.Count, 4).End()) = "RED" End Sub 18. __________,__________ 次のコードは、表の3列目を200以上かつ500以下の値で絞り込むマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "【 ① 】 200", xlAnd, "【 ② 】500" End Sub ①> ② < ①= ② < ①> ②<= ①>= ② <= None 19. __________,__________ 次のコードは、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 Else Cells(i, 2) = “Ballgame” End Select Next i End Sub 20. __________,__________ 次のコードは見出し行も含めテーブル全体を選択し、その行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおシート上にはテーブルは1つのみである。 Sub Exam1() With Sheets("sheet1").ListObjects ().Range.Select MsgBox Selection.Rows.Count End With End Sub 21. __________,__________ 次のコードを実行したときの結果について、正しいものを以下の選択肢の中から選びなさい。 Sub Exam1() Dim N As String N = Test("Baseball") MsgBox N End Sub Function Test(F) Dim A As String A = ”Football” F = F & A End Function ”Baseball&Football”が表示される。 何も表示されない。 ”F&A”が表示される。 ”BaseballFootball”が表示される。 None 22. __________,__________ 次のコードは、ブックの保存状態を調べ、調べた結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs “book.xlsm” If ThisWorkbook. = True Then MsgBox “Changed” Else MsgBox “No Changed” End IfEnd Sub 23. __________,__________ 以下の語群はオートフィルターの解除や、フィルターボタンについて説明したものである。 説明として正しいA、B群の組み合わせを選択肢から②とAの他に1つ解答しなさい。 A群 ⓵オートフィルターを解除したい。 ②オートフィルターボタンは残してフィルターを解除したい。 B群 A.セル.AutoFilter 列番号 B.セル.AutoFilter ⓵とB ②とB ⓵とA None 24. __________,__________ 次のマクロはオブジェクト変数を使用したマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim wb As Dim N As Range Set wb = ThisWorkbook Set N = wb.Sheets(1).Range("A1") N.Resize(1, 2).Copy wb.Sheets(1).Range("C1") End Sub 25. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. (0, 1) End Sub 26. __________,__________ 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range(“A2:B11”).Find(What:=“Baseball”, Lookat:=xlWhole) If N Is Nothing Then MsgBox N.Address End If End Sub 27. __________,__________ 次のコードは、表のセル範囲を一行目は見出し行とし、2列目を基準に降順に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“B2”), Order:=xlDescending .SetRange Range(“A1:C11”) .Header = .MatchCase = False .Orientation = xlTopToBottom .Apply End With End Sub 28. __________,__________ 次の文章はデバッグ作業の内 、マク口のコードを1行ずつ止めながら実行する説明である。 空欄に入る適切な語句を解答しなさい。 ・VBE内のマク口のコードを1行ずつ止めながら実行するのが です。 ・「上記空欄と同じ」の操作をコードの最初から行うには、実行したいプロシージャの中にカーソルを置き、F8キーを押します。 ・実行すると、プロシージャのカーソル置いた箇所が黄色くハイライトされます。 これ以降、F8キーを押すたびに、 1行ずつマクロが実行されます。 29. __________,__________ VBAのコンパイルエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 コンパイルエラーはコードに論理的な誤りがある場合に発生する。 コンパイルエラーはマクロの実行前に検出されるため、実行前にエラーを修正できる。 コンパイルエラーはマクロの実行中に検出される。 Option Explicitを使用していない場合でも、コンパイルエラーは発生することがある。 None 30. __________,__________ 次のコードは配列に格納した値をメッセージで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant Dim i As Long B = Split(“baseball:football:basketball”, “:”) For i = (B) To UBound(B) MsgBox B(i) Next i End Sub 31. __________,__________ 次のコードは、条件を満たした際に処理を実行する条件分岐のマクロである。 D列に入力された値の合計値は である。 Sub Exam1() Dim i As Long For i = 2 To 11 If Cells(i , 1) = “2” Then If Cells(i , 2) = “Boxing” Then Cells (i, 4) = Cells(i, 3) * 2 End If If Cells(i , 1) = “3” Then If Cells(i , 2) = “Rugby” Then Cells (i, 4) = Cells(i, 3) * 3 End If Next i End Sub 32. __________,__________ 次の文書は、デバッグについての説明です。空欄に入る適切な選択肢より解答しなさい。 ・デバッグとは、プログラムの誤りやエラーを発見し修正する作業のことです。 ・また、マクロを実行中にエラーが発生すると、エラーメッセージがダイアログボックスに表示されます。 ・ダイアログボックスの下部にある「デバッグ」ボタンをクリックすると、 VBEのコード内でエラー箇所が 【 ① 】色でハイライトされ、実行中のマクロが一時停止状態になります。 ・VBEのこの状態を 【 ② 】と呼び、エラーの検出と修正が可能です。 ① 赤 , ② 中断モード ① 黄 , ② デバッグモード ① 青 , ② フローティング ① 黄 , ② 実行モード None 33. __________,__________ 次のコードは、指定された範囲内で特定の値を検索し、その値が見つかったセルの相対的な位置をメッセージボックスで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 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 34. __________,__________ 次のコードは、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 35. __________,__________ 次のコードは、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 36. __________,__________ VBAのイミディエイトウィンドウに関する説明として正しいものを、次の選択肢の中から1つ解答しなさい。 Option Explicitを設定していると、イミディエイトウィンドウ内で変数を使う場合も宣言が必要になる。 イミディエイトウィンドウでの実行内容は、プログラムのコードとしてそのまま保存される。 イミディエイトウィンドウで変数の値を表示するには、Print 変数名と入力する。 イミディエイトウィンドウで変数に値を代入するには、変数名 = 値の形式で入力する。 None 37. __________,__________ 次のコードは実行したとき、メッセージボックスには6が表示されるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Long ReDim N(3) N(0) = 0 N(1) = 1 N(2) = 2 N(2) = 3 MsgBox N(0) + N(1) + N(2) + N(3) End Sub 38. __________,__________ 次のコードは、テーブルの見出し行のみを指定のシートへコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet1").Range("B2") End Sub 39. __________,__________ 次のコードは、数値を4桁の文字列にし更に”SXXXX”の形式に整えるコードである。 なお各桁に値がない時も”0”を表示するように設定をした。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long For i = 2 to 5 Cells(i, 2) = ”S”& (i, "0000") Next i MsgBox Range(”B4”) End Sub 40. __________,__________ 以下の文章は主に2種類があるマクロのエラーの説明です。 空欄に入る適切な語句を選択肢らら解答しなさい。 ・ 【 ① 】エラー このエラーは構文エラーとも呼ばれます。VBAの文法や書式に誤りがあるときに発生します。 ・【 ② 】エラー このエラーは構文に誤りがなくても、マクロの論理に矛盾があるときに発生します。 ① 構文 , ② 実行時 ① 実行時 , ②記述 ① 論理 , ② 記述 ① 記述 , ② 論理 None