【ランダム順出題】Excel VBA スタンダード 模擬試験 ③ Excel VBA スタンダード 模擬問題 模擬試験 2025.09.282025.10.02 【ランダム順出題】Excel VBA スタンダード 模擬試験 ③ 1. __________,__________ 次の文章は、デバッグ作業で使うイミディエイトウィンドウの説明と出力コードです。 空欄に入る適切な語句を解答しなさい。 次のコードは実行すると、イミディエイトウィンドウに「12345」を出力します。 Sub Exam1() .Print 12345 End Sub 2. __________,__________ 以下のコードは 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 3. __________,__________ 次のコードはテーブルのすべてのセルを対象に3列目にオートフィルターをかけてデータを探すマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range("A1").ListObject. .AutoFilter 3, "600" End Sub 4. __________,__________ 次のコードは、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 5. __________,__________ 次のコードはセル内の書式を統一し、その書式を統一した値を同じセルに代入するマクロである。 空欄に入る適切な語句を解答しなさい。 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 6. __________,__________ 次のコードは、セルA1を含む表を2列目が"Apple"と等しい条件で絞り込み、 その結果が何件あるかをメッセージボックスに表示するマクロである。 マクロ実行後、表示された値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Apple" MsgBox WorksheetFunction.Subtotal(3, Range("A:A")) -1 End Sub 7. __________,__________ 以下のコード「Exam1」と「Exam2」は同じ結果になるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, A As Long i = 1 Do A = A + Cells(i, 1) * 2 i = i + 1 Loop Cells(i, 1) = "STOP" MsgBox A End Sub ーーーーーーーーーーーーーーーーー Sub Exam2() Dim i As Long, A As Long i = 1 Do A = A + Cells(i, 1) * 2 i = i + 1 Loop While Cells(i, 1) "STOP" MsgBox A End Sub 8. __________,__________ 次のコードは、セル範囲B1からB10に入力された数値のうち、 大きい順から数えて2番目の値をセルD1に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("D1") = WorksheetFunction. (Range("B1:B10"), 2) End Sub 9. __________,__________ 次のコードは実行したとき、メッセージボックスに「40」と表示するマクロである。 空欄に入る適切な語句を解答しなさい。なお空欄の位置に、何も指定しないことも本コードでは有効である。 Sub Exam1() Dim B As Long B = 20 Call ModifyValue(B) MsgBox B End Sub Sub ModifyValue( B As Long) B = B * 2 End Sub 10. __________,__________ 次のコードは、表を4つの配列の値で絞り込むマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim Criteria(3) As String Criteria(0) = “Apple" Criteria(1) = “Banana “ Criteria(2) = “Mango" Criteria(3) = “Grape" Range( “A1 “).AutoFilter Field:=2, Criteria1:=Criteria, Operator:= End Sub 11. __________,__________ 次のコードは、表のセル範囲を大文字小文字は区別せず並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 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 12. __________,__________ 次の文章はイミディエイトウィンドウのコードウィンドウの切り離しについての説明です。 空欄に入る適切な語句を解答しなさい。 ・イミディエイトウィンドウは、タイトルバーをドラッグすることでコードウィンドウから分離し、任意の位置に配置することができます。 ・コードウィンドウに接続されている状態を 【 ① 】 と呼び、分離した状態を 【 ② 】 と呼びます。 ①の状態図 ②の状態図 ①ドッキング , ②フローティング ① フローティング , ②ドッキング ①固定 , ② ドッキング ング ①タイリング , ②フローティング None 13. __________,__________ 以下のコードは、エラーが発生したら処理を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 14. __________,__________ 次のコードは、テーブル内のセルよりテーブル全体を特定し、コピーを実行するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”A1”). .Range.Copy Sheets(”Sheet7”).Range(”B1”) End Sub 15. __________,__________ 次のコードは、A列に入力されているコードをカンマで区切り、数値のみをB列に代入するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long, A As Variant, C As For i = 2 To 11 A = Split(Cells(i, 1), ”,”) For Each C In A If IsNumeric(C) = True Then Cells(i, 2) = C End If Next C Next iEnd 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. __________,__________ データ内の不要な文字を除去する際に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 place Replace StrConv Resize None 18. __________,__________ 次のコードは、指定したセル範囲に入力されている数値を合計し、 その合計値を別のセルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B20") = worksheetfunction. (Range("B1:B19")) End Sub 19. __________,__________ VBEのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 記述エラーは、VBAの文法ではない記述をした時に命令すると発生するエラーである。 記述エラーは文法エラーとも呼ばれている。 VBE内でEnterキーを押すと、コードに誤りがないかチェックをする。 VBE内で記述に誤りがあると該当箇所が赤文字で表示される。 None 20. __________,__________ 次のコードは、セルの値が日付かどうかを判定し、日付であれば"True"、日付でなければ"False"をメッセージボックスに表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Variant i = Range(“A1”).Value If (i) Then MsgBox “True” Else MsgBox “False” End If End Sub 21. __________,__________ 以下のコードを実行したとき、メッセージボックスに表示される値はである。 空欄に入る適切な語句を解答しなさい。 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 22. __________,__________ 以下のコードは、実行すると値を表示するマクロである。 実行後、表示された値は である。 空欄に入る値を解答しなさい。 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 23. __________,__________ 次のコードは表内を、セルF1に入力された文字列でC列の上からの位置を探し、 見つけた上からの位置を参照して、B列の値をセルG1に入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Long With WorksheetFunction N = . (Range("F1"), Range("C2:C10"), 0) Range(“G1”) = .Index(Range(“B2:B10”), N) End With End Sub 24. __________,__________ 次のコードを実行した結果、D列に代入された数値の合計値は である。空欄に入る語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 If Cells(i, 1) = "ASIA" Then Cells(i, 4) = Cells(i, 3) * 4 If Cells(i, 1) = "EU" Then If Cells(i, 2) = "France" Then Cells(i, 4) = Cells(i, 3) * 3 If Cells(i, 2) = "Germany" Then Cells(i, 4) = Cells(i, 3) * 2 End If Next i End Sub 25. __________,__________ 次のコードは、1列目に入力されている"Japan"という文字列が入力されているセルの個数をカウントし、 メッセージボックスに個数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, count As Long For i = 2 To 11 If Cells(i, 1) = "Japan" Then count = count + End If Next i MsgBox count End Sub 26. __________,__________ 次のコードを実行した時表示されるメッセージは である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject.ListRows (2).Range.Select MsgBox Selection.Row End With End Sub 27. __________,__________ 次のコードはシートの左側のテーブルが最初に作成され、右側のテーブルが2番目に作成されたマクロである。 この状態でマクロを実行したとき、下線が設定されたセルの値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, ”Germany” .ListColumns(3).DataBodyRange.Font.Underline = True End With End Sub 28. __________,__________ 次のコードは、エラーが発生してもエラーを無視して処理を続行し、 結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error Next Application.Workbooks.Add.SaveAs “total1.xlsx” If ActiveWorkbook. Saved = True Then MsgBox “Changed” Else MsgBox “No Changed” End IfEnd Sub 29. __________,__________ 次のコードは、コードの途中で配列の要素数を増やし、その後メッセージボックスに"Germany"と表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim Countries() As String Countries(2) Countries(0) = "Canada" Countries(1) = "France" Countries(2) = "Germany" 「上記空欄と同じ」 Preserve Countries(4) Countries(3) = "Italy" Countries(4) = "Japan" MsgBox Countries(2) End Sub 30. __________,__________ 次のコードは宣言時には、配列の要素数の上限数が不明であり、指定の値を区切り文字で区切り配列に格納するマクロである。 空欄に入る適切な語句を解答しなさい。 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 31. __________,__________ 次のコードは、漢字が入力されているC列各セルに対して、 ふりがなが設定されていればそのふりがなを、 ふりがなの設定がなく漢字がそのまま入力されている時 は"0"と、D列の各セルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 If Cells(i, 3). .Text = "" Then Cells(i, 4) = "0" Else Cells(i, 4) = Cells(i, 3).「上記空欄①と同じ」.「上記空欄②と同じ」 End If Next i End Sub 32. __________,__________ 次のコードは、 対象のセル範囲に負の数があれば、メッセージボックスに”-”と表示後、繰り返し処理を終了し、"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 Sub End If Next cell End Sub 33. __________,__________ 次のコードは、表のセル範囲A3:C11のみを、3列目を基準として降順に並べ替えるマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range("A3:C11").Sort Key1:=Range("C3"), Order1:=xlDescending, Header:= End Sub 34. __________,__________ 次のコードは、セルA1を含む表に対して3列目が"100以上かつ、300以下"の条件で絞り込むマクロである。空欄に入る語句を解答しなさい。 Sub Exam1() Range("A1"). 3, ">=100", xlAnd, "<=300" End Sub 35. __________,__________ 次のコードは、ブックを続けて開き、その後ブック名をメッセージで表示するマクロである。 以下の空欄に入る適切な語句を選択肢の中から解答しなさい。 ・マクロ実行後、最後にアクティブ状態となるブックは【 ① 】である。 Sub Exam1() Dim i As Long For i = 2 To 5 Workbooks.Open “C:\Data\” & ThisWorkbook.ActiveSheet.Cells (i, 1)& ".xlsx" Next i MsgBox ActiveWorkbook.Name End Sub 2.xlsx 3.xlsx 1.xlsx total.xlsx None 36. __________,__________ 次のコードはテーブル全体をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。なおテーブルの名前は「table1」である。 Sub Exam1() With Range(" [#All]") .Copy Sheets("Sheet12").Range("B2") End With End Sub 37. __________,__________ 以下の選択肢はステップインに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 ステップイン実行時黄色くハイライトしている行は、次に実行するコード行である。 ステップインの実行するショートカットキーは、「F8」キーを押下すると実行できる。 ステップインでは1行ずつコードを実行できない。 マクロを最初からステップイン実行するには、実行したいプロシージャの先頭にカーソルを置く必要はない。 None 38. __________,__________ 以下の文章はCallステートメントに関する説明である。説明が間違っているものを、次の選択肢の中から1つ解答しなさい。 Callステートメントは呼び出した別のプロシージャに、計算や処理で使う引数を渡すことができる。 別のプロシージャを呼び出すとき、”Call”の記述を省略し、プロシージャ名を記述すれば呼び出すことができる。 Callステートメントを使用すると、呼び出されたプロシージャは常に最後まで実行され、元のプロシージャに戻ることはできない。 別のプロシージャを呼び出し実行することができる。 None 39. __________,__________ 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 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 40. __________,__________ 次のコードはテーブルにオートフィルターをかけた後、 構造化参照でデータ部分から行を特定し、フィルターで特定したデータを含む行全体を削除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”table1”).AutoFilter 3, ”900” Range(”table1 ”).EntireRow. Range(”table1”).AutoFilter 3 End Sub