【ランダム順出題】Excel VBA スタンダード 模擬試験 ① Excel VBA スタンダード 模擬問題 模擬試験 2025.09.282025.10.02 【ランダム順出題】Excel VBA スタンダード 模擬試験 ① 1. __________,__________ 次のコードは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 2. __________,__________ 次のコードは、実行したときにメッセージボックスに「15」と表示されるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Long B = 15 Call Exam2 (B) MsgBox B End Sub Sub Exam2 ( B As Long) B = B + 10 End Sub 3. __________,__________ 次のコードは、セル範囲A1:D10の先頭行をタイトル行として、 D列を基準として降順に並べ替えるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheets1”).Sort .SortFields.Clear .SortFields.Add Key:=Range(“D2”), Order:=xlDescending .SetRange Range(“A1:D10”) .Header = xlYes . End With End Sub 4. __________,__________ 次の選択肢は、条件を満たした際に処理を実行するマクロの説明である。 適当な選択肢を解答しなさい。 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 5. __________,__________ 次のコードは、新たにDocumentsフォルダの下にReportsフォルダを作成するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:¥Documents¥Reports" End Sub 6. __________,__________ 次のコードは、2列目の値が600から750のときは3列目に”Medium”を代入し、1000または1100の値の時は3列目に”High”を代入するマクロである。 以下の空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Select Case Cells(i, 2) Case 600 750 Cells(i, 3) = “Medium” Case 1000 , 1100 Cells(i, 3) = “High” End Select Next i End Sub 7. __________,__________ 以下の選択肢はデバッグモードに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 デバッグモードになると、実行後の行が黄色くハイライトとなる、マクロが一時停止状態になる。 エラーが発生してもデバッグを行わないときはエラーのダイアログボックスの終了ボタンをクリックする。 デバッグモードの目的はミスの修正を行うことである。 エラー発生後デバッグモードに移行するかどうかは、エラーのダイアログボックスでユーザーが選択できる。 None 8. __________,__________ 次のコードは、テーブル内の見出しを含む3列目を指定するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1[[ ],[Data3]]").Select End Sub 9. __________,__________ 次のコードは実行すると「Banana」と表示するマクロである。 以下の空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:=" ", Lookat:= xlWhole) MsgBox A.Offset(0, 1) End Sub 10. __________,__________ 次の文章は、イミディエイトウィンドウに関する説明です。 以下の空欄に入る適切な語句を解答しなさい。 イミディエイトウィンドウに range("C2").Value のように「上記空欄と同じ」を先頭につけて入力し、エンターキーを押すと、 プロパティの値や変数の値、関数の結果を調べてイミディエイトウィンドウに表示することができます。 例:Valueプロパティ 11. __________,__________ 次のコードは、1列目を見出しごと選択し、選択した列数を表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject. .Range .Select MsgBox Selection.Columns.Count End Sub 12. __________,__________ 以下の選択肢はブレークポイントに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 ブレークポイントを設定するショートカットキーは、一時停止したいコードの行カーソルを置き「F9」キー押下し設定する。 ブレークポイントを設定した行でマクロが一時停止する。 ブレークポイントは、1つのプロシージャ内に1箇所のみ設定することができる。 マクロ実行しブレークポイントで一時停止した時、ブレークポイントを設定した行のコードは未実行である。 None 13. __________,__________ 次のコードは、宣言時には要素数を指定せず、途中で要素数を4に指定したマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries As String ReDim countries(4) countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” countries(4) = “Japan” MsgBox countries(3) End Sub 14. __________,__________ 以下のコードはプロシージャが終了すると、宣言したオブジェクト変数を破棄するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range("A1") A.offset(0, 1) = 300 Set A=End Sub 15. __________,__________ 次のコードは、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 16. __________,__________ 次のコードは、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 17. __________,__________ 次のコードは、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 18. __________,__________ VBAのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 論理エラーは分けるとコンパイルエラーと作業時エラーに分けられる。 記述エラーは文法エラーとも呼ばれている。 マクロで発生するエラーは大きく分けると、記述エラーと論理エラーに分けられる。 論理エラーはVBAの文法的なエラーではないが、論理的な矛盾によって発生するエラーである。 None 19. __________,__________ 次のコードを実行した時に表示されるメッセージは である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long With Range("A1").ListObject .ListColumns.Add A = .ListColumns.Count .ListColumns(A).DataBodyRange = "=[@Data3]*0.7" End With MsgBox WorksheetFunction.Sum(Range("D2:D10")) End Sub 20. __________,__________ 次のコードは、B列に入力されている数値のうち 「5番目に小さい数値」を指定のセルに代入するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("E3") = WorksheetFunction. (Range("B1:B20"), 5) End Sub 21. __________,__________ 次のコードは、1列目に入力されている文字列データを 「-」で分割し、 その左側の部分を2列目に入力するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, parts As Variant For i = 2 To 10 parts = (Cells(i, 1).Value, "-") Cells(i, 2).Value = parts(0) Next i End Sub 22. __________,__________ 次のコードは表の4列目を基準に、1行目を見出し行と指定して並べ替えるマクロである。 実行の結果メッセージには が表示された。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.Sort .SortFields.Clear .SortFields.Add Key:=Range(“D2”), Order:=xlDescending .SetRange Range(“A1:D10”) .Header = xlYes .Apply End With MsgBox Range(“A2”).Value End Sub 23. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_7.xlsx」として保存するマクロである。 なおブック名の「7」は、7月現在の月を表示したものである。 以下の空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook.SaveAs "C:\Documents¥" & "total_" & (Now) & ".xlsm" End Sub 24. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error Goto ErrorHandler ThisWorkbook.Sheets(“Sheet”).Range(“A1”) = ActiveSheet.Range(“B1”) Exit SubErrorHandler: Select Case . Number Case 9 MsgBox “指定されたシートが見つかりません。” Case Else MsgBox “予期しないエラーが発生しました。” End Select End Sub 25. __________,__________ 次のコードは、"C:\Local\total.xlsx"のブックを開いた後、 "C:\Backup\total_backup.xlsx"へ場所やファイル名かえてブックを保存するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Workbooks. "C:\Local\total.xlsx" ActiveWorkbook.SaveAs "C:\Backup\total_backup.xlsx" ActiveWorkbook.Close End Sub 26. __________,__________ 次のコードは、表の3列目を100より大きく500より小さい値で絞り込むマクロである。 以下の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, " 【 ① 】 100", xlAnd, " 【 ② 】 500" End Sub ① > ②<= ①>= ②<= ① > ②< ①= ②< None 27. __________,__________ 次のコードを実行後、メッセージに表示される値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Long With Range("A1").ListObject .DataBodyRange.AutoFilter 3, "800" .ListColumns(1).DataBodyRange.Value = "―" .DataBodyRange.AutoFilter 3 End With N = WorksheetFunction.SumIf(Range("A1:A10"), "1", Range("C1:C10")) MsgBox N End Sub 28. __________,__________ 次のコードは、セルA1を含む表に対して3列目が「200以上かつ、400以下」の条件で絞り込むマクロである。以下の空欄に入る数値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, ">=200", , "<=400" End Sub 29. __________,__________ 次のコードは、セル範囲内を合計するSUM関数をVBAで実行するマクロである。 以下の空欄に入る空欄に入る最も適切な選択肢を解答しなさい。 Sub Exam1() Range("C15") = 【 ① 】.Sum(Range("C1:C14")) End Sub Application Application.WorksheetFunction worksheetfunctions worksheetfunction None 30. __________,__________ 次のコードを実行したとき表示されるメッセージはどれか。 正しいものを、選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox TypeName(”True”) End Sub String False True Boolean None 31. __________,__________ 次のコードは、D列を基準に降順でデータを並べ替えるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets("Sheet2"). .SortFields.Clear .SortFields.Add2 Key:=Range("D2"), _ SortOn:=xlSortOnValues, _ Order:=xlDescending, _ DataOption:=xlSortNormal .SetRange Range("A1:D9") .Header = xlYes .Apply 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. __________,__________ 次のコードは、ブックが保護されているかどうかを確認するマクロです。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() If ThisWorkbook. = True Then MsgBox “Protected” Else MsgBox “NG” End If End Sub 34. __________,__________ 次のコードは、引数を使わず変数Cを共有し初期値を設定するマクロである。 A ~ Dの内 で変数の宣言と初期化を行うのが適切である。半角大文字で解答しなさい。 変数の宣言と初期化: Dim C As Long Option Explicit 【 A 】 Sub Exam1() 【 B 】 C = 10 Call Exam2 End Sub Sub Exam2() 【 C 】 C = C + 5 Call Exam3() End Sub Sub Exam3 【 D 】 MsgBox "Cの値は" & C End Sub 35. __________,__________ 次のコードは、テーブルのすべてをSheet11のセルB2へコピーするマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Sheets("Sheet11").Range("B2") End Sub 36. __________,__________ 次の文書は、漢字の並べ替えの説明である。 【 ① 】に入る適切な順番を選択肢から選び解答しなさい。 ●漢字を並べ替える時の注意点 ・漢字を並べ替える時はセルに設定されている漢字のふりがなで並べ替えます。 具体的にはセルに漢字を入力するとき、日本語変換前に入力した読みが登録されており、それを基準に並び替えています。 例)井田・・・ 1.「せいでん」で変換し入力 2.「いだ」で変換し入力 3.「井田」は変換はせずほかのアプリよりコピーペーストした。 この時の並び替え実施後の順番は【 ① 】の順で並べ替えられる。 3、1、2 2、1、3 1、2、3 None 37. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込むマクロである。 絞込み後4列目にREDと入力された同じ行の1列目「Data1」の合計値は である。 上記空欄に入る適切な値を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Apple" Range (Range ("D2"), Cells (Rows.Count, 4).End(xlUp)) = "RED" End Sub 38. __________,__________ ワークシートが下図の状態で、次のマクロを実行したときメッセージボックスに表示される値は、 である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range,N As Long Range("B1").CurrentRegion.Select For Each A In Selection N = N + A.Value Next A MsgBox N End Sub 39. __________,__________ 次のコードは、配列を使用してメッセージボックスに"Canada_France_Germany"と表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim regions(3) As String regions = "Canada" regions(1) = "France" regions(2) = "Germany" regions(3) = "Italy" MsgBox regions(0) & " _ " & regions(1) & " _ " & regions(2) End Sub 40. __________,__________ 以下のコードはフィルターで絞り込み後、テーブル内の見出し行ごとコピーし、 シート名「Sheet8」のセルC1に貼り付けるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject. .AutoFilter 3, "700" .Copy Sheets("Sheet8").Range("C1") End With End Sub