【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.06.30 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 以下の文章はテーブルの部位「行」を指定する説明である。 空欄に入る適切な語句を解答しなさい。 ・テーブルの「行」を指定する方法 構造化参照を使って(Rangeとテーブル名を使用して)、テーブルの行を指定することはできません。 テーブルの行を指定したいときは、ListObject. で行全体を表します。 2. __________,__________ 日本語のデータを「ふりがな」を使って並べ替える際に使用する引数は に定数を指定する。 3. __________,__________ 以下のコードは、テーブル内の"Data2"列のデータ部分を選択するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Range("table1 ").Select End Sub 4. __________,__________ 次のコードは、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 5. __________,__________ 以下のコードは、セル範囲B2からB10を"UN"を「完全一致」で検索し、 見つかったセルの左隣のセルに値を入力するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("B2:B10").Find(What:="UN", Lookat:= ) If Not A Is Nothing Then A.Offset(0, -1) = 500 End If End Sub 6. __________,__________ 以下のコードは、エラーが発生したら処理をError1:へジャンプさせるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error1 Dim wb As Workbook Set wb = Workbooks.Open(“C:\path\file.xlsx”) wb.Sheets(“Sheet1”).Range(“A1”) = “No Err” MsgBox “OK” Exit Sub Error1: MsgBox "NG" End Sub 7. __________,__________ 次のコードは、表を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 8. __________,__________ 以下のマクロを実行したところ、セルC1内に「150」と表示された。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B1") = 50 Exam2() End Sub Sub Exam2() Range("C1") = Range("B1") *3 End Sub 9. __________,__________ 次のコードは、2列目の各セルに入力されている半角文字を全角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 10. __________,__________ 次のコードは、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 11. __________,__________ 以下のコードは別のプロシージャを呼び出すマクロである。 空欄に入る適切な語句を選択肢の中から解答しなさい。 【 ① 】 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 【 ① 】Function 【 ② 】Sub 【 ① 】Function 【 ② 】Function 【 ① 】Sub 【 ② 】Function 【 ① 】Sub 【 ② 】Sub None 12. __________,__________ 次の文章はイミディエイトウィンドウのコードウィンドウの切り離しについての説明です。 空欄に入る適切な語句を解答しなさい。 ・イミディエイトウィンドウは、タイトルバーをドラッグすることでコードウィンドウから分離し、任意の位置に配置することができます。 ・コードウィンドウに接続されている状態を 【 ① 】 と呼び、分離した状態を 【 ② 】 と呼びます。 ①の状態図 ②の状態図 ①固定 , ② ドッキング ング ①タイリング , ②フローティング ① フローティング , ②ドッキング ①ドッキング , ②フローティング None 13. __________,__________ 以下のコードを実行した時表示されるメッセージはである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject.DataBodyRange.Copy Sheets("Sheet9").Range("A1") MsgBox Sheets("Sheet9").Range("C1") End Sub 14. __________,__________ 次の文章はイミディエイトウィンドウの操作についての説明です。 空欄に入る適切な語句を、選択肢の中から1つ解答しなさい。 ・イミディエイトウィンドウは、マクロが停止しているデバッグモードや、 VBEの【 ① 】メニューから「イミディエイトウィンドウ」を表示することができます。 また変数の内容やプロパティ、実行中のマクロに関する情報を表示し、命令を実行するために使用します。 ・イミディエイトウィンドウの表示方法には、[表示]メニューから以外に、Ctrl + 【 ② 】キーを押す方法もあります。 ①表示 , ② G ① 挿入 , ② D ① ツール , ② W ① 実行 , ② I None 15. __________,__________ VBEのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 VBE内でEnterキーを押すと、コードに誤りがないかチェックをする。 記述エラーは、VBAの文法ではない記述をした時に命令すると発生するエラーである。 記述エラーは文法エラーとも呼ばれている。 VBE内で記述に誤りがあると該当箇所が赤文字で表示される。 None 16. __________,__________ 次のコードは、セルA1を含む表に対して3列目が"100以上かつ、300以下"の条件で絞り込むマクロである。空欄に入る語句を解答しなさい。 Sub Exam1() Range("A1"). 3, ">=100", , "<=300" End Sub 17. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_7.xlsx」として保存するマクロである。 なおブック名の「7」は、7月現在の月を表示したものである。 以下の空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook."C:\Documents¥" & "total_" & (Now) & ".xlsm" End Sub 18. __________,__________ エラーが発生した際に、指定したラベル「 Error1」へ処理を飛ばすための記述を解答しなさい。Sub Exam1() On Error GoTo Error1処理 Exit Sub MsgBox "エラー"End Sub 19. __________,__________ 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 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 20. __________,__________ 次のコードは、指定された範囲内で特定の値を検索し、その値が見つかったセルの相対的な位置をメッセージボックスで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 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 21. __________,__________ 以下のコードは、実行すると値を表示するマクロである。 実行後、表示された値は である。 空欄に入る値を解答しなさい。 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(, 1).Value End If End Sub 22. __________,__________ 次のコードは、2列目の各セルに入力されている全角文字を半角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 23. __________,__________ 次のコードはシートの左側のテーブルが最初に作成され、右側のテーブルが2番目に作成されたマクロである。 この状態でマクロを実行したとき、下線が設定されたセルの値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, ”Germany” .ListColumns(3).DataBodyRange.Font.Underline = True End With End Sub 24. __________,__________ 次のコードはテーブルの右側に列を追加し、セルに値を入力するコードである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long With Range("A1").ListObject .ListColumns. A = .ListColumns.Count .ListColumns(A).DataBodyRange = "=[@Data3]*0.7" End With End Sub 25. __________,__________ 以下のコード「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 26. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 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 27. __________,__________ 以下のコードは、エラーが発生したら処理を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 Error Err On Error GoTo None 28. __________,__________ 以下のコード「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 29. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As Set ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub 30. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. Offset End Sub 31. __________,__________ 次のコードは、表の3列目を100より大きく500より小さい値で絞り込むマクロである。 以下の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, " 【 ① 】 100", xlAnd, " 【 ② 】 500" End Sub ①>= ②<= ① > ②<= ①= ②< ① > ②< None 32. __________,__________ 次のコードは、セル範囲A1:A10の中から「RED」という文字を含むセルを検索するマクロである。 空欄 に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range(”A1:A10”).)(What:=(”RED”, LookAt:=) If Not N Is Nothing Then MsgBox N.Address End IfEnd Sub 33. __________,__________ 次のコードは宣言時には、配列の要素数の上限数が不明であり、指定の値を区切り文字で区切り配列に格納するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant, i As Long B = (“Canada:France:Germany”, “:”) For i = 0 To (B) MsgBox B(i) Next i End Sub 34. __________,__________ 次のコードを実行後、メッセージに表示される値は である。 空欄に入る適切な語句を解答しなさい。 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 35. __________,__________ イミディエイトウィンドウの機能として、正しいものを選択肢の中から1つ解答しなさい。 コードを1行ずつ実行(ステップ実行)するための専用画面である。 プロシージャの中に記述されたコメントの一覧を表示する。 プログラムを実行しながら、変数の値を書き換える(代入する)ことができる。 定数(Const)の値を変更するための場所である。 None 36. __________,__________ VBAにおける「マクロの最小実行単位」に関する記述として、適切なものを選択肢の中から1つ選びなさい。 ステートメント プロシージャ モジュール プロジェクト None 37. __________,__________ 次のコードはテーブル全体をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。なおテーブルの名前は画像の左上に表示されています。 Sub Exam1() With Range(" [ ]") .Copy Sheets("Sheet12").Range("B2") End With End Sub 38. __________,__________ 以下の選択肢はイミディエイトウィンドウに関する説明である。 説明として誤っているものを選択肢の中から1つ解答しなさい。 イミディエイトウィンドウを表示するショートカットキーは、[Ctrl]+[G]キーを押下すると表示できる。 イミディエイトウィンドウは、マクロの実行中のみ使うことができる。 イミディエイトウィンドウは、プロパティや変数や等のマクロの状況を調べることができる。 イミディエイトウィンドウを表示するにはVBEの表示メニューの[イミディエイトウィンドウ]をクリックする。 None 39. __________,__________ 次のコードはB列が”Tomato”だった時の、C列の合計を表示するマクロである。 実行後、メッセージに表示された値は である。 空欄に入る適切な値を解答しなさい。 Sub Exam1() Dim i As Long, N As Long For i = 2 To 10 If Cells(i, 2) = "Tomato" Then N = N + Cells(i, 3) End If Next i MsgBox N End Sub 40. __________,__________ 次のコードは、B列に入力されている数値のうち 「5番目に小さい数値」を指定のセルに代入するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("E3") = WorksheetFunction. (Range("B1:B20"), 5) End Sub