【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ Sort オブジェクト等を使用して列を基準に並べ替えを行う際、Rangeに指定する引数として適切な説明を選択しなさい。 その列のセルであれば、どこを指定してもよい。 その列のすべてのセルを選択しなければならない。 セル番地ではなく、列番号(1, 2...)で指定しなければならない。 必ずその列の1行目のセル(タイトル行)を指定しなければならない。 None 2. __________,__________ 以下のコードは、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 3. __________,__________ 次のコードは日本語のふりがなを設定し、そのふりがなを使って並べ替えるマクロである。 コード空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("C2").Phonetic.Text = "ニッタ" Range("C3").Phonetic.Text = "シンデン" Range("C4").Phonetic.Text = "アラタ" Range("A1").Sort Key1:=Range("C1"), Order1:=xlAscending, :=xlPinYin, Header:=xlYes End Sub 4. __________,__________ 以下のコードはプロシージャが終了すると、宣言したオブジェクト変数を破棄するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range("A1") A.offset(0, 1) = 300 Set A=End Sub 5. __________,__________ 次のコードは、 セル範囲A2:A10に入力されている文字列から"-"を除去した結果を2列目に入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 Cells(i, 2) = (Cells(i, 1), "-", "") Next i End Sub 6. __________,__________ 次のコードは、2列目の各セルに入力されている全角文字を半角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 7. __________,__________ 次のコードは表内を検索するマクロである。実行すると”Soccer”と表示された。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:="8", Lookat:= xlWhole) MsgBox A. Offset End Sub 8. __________,__________ 次のコードは、テーブル内のセルよりテーブル全体を特定し、コピーを実行するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”A1”). ..Copy Sheets(”Sheet7”).Range(”B1”) End Sub 9. __________,__________ 以下のコードを実行したとき、メッセージボックスに表示される値はである。 空欄に入る適切な語句を解答しなさい。 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 10. __________,__________ 次のコードを実行したとき、変数Nに格納される値を解答しなさい。値はである。Sub Eaxam1() Dim N As Boolean N= IsDate("2024/13/01") End Sub 11. __________,__________ エラーが発生した際に、指定したラベル「 Error1」へ処理を飛ばすための記述を解答しなさい。Sub Exam1() On Error GoTo Error1処理 Exit Sub MsgBox "エラー"End Sub 12. __________,__________ 以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。 マクロ実行後のアクティブシートのシート名を解答しなさい。・マクロ実行後のアクティブシートのシート名は である。なおオブジェクト変数「ws1」に格納されたシートの名前は「Sheet1」である。 Sub Exam1() Dim ws1 As Worksheet , ws2 As Worksheet Set ws1= ActiveSheet Set ws2 = Worksheets.Add ws1.Activate ws2. Name = "Total" End Sub 13. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As Set ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub 14. __________,__________ 以下のコードは、エラーが発生したら処理を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 GoTo On Error Err None 15. __________,__________ 以下のコードは、1列目と2列目の値によって3列目に値を代入するマクロである。 このマクロの実行結果であるC列の合計行セルC12の値は であった。 Sub Exam1() Dim i As Long For i = 2 To 11 Select Case Cells(i, 1) Case “Japan” Select Case Cells(i, 2) Case “60” Cells(i, 3) = 900 Case “80” Cells(i, 3) = 1000 Case “100” Cells(i, 3) = 1100 End Select End Select Select Case Cells(i, 1) Case “United States” Select Case Cells(i, 2) Case “60” Cells(i, 3) = 1000 Case “80” Cells(i, 3) = 1100 Case “100” Cells(i, 3) = 1200 End Select End Select Next i End Sub 16. __________,__________ テーブル「Table1」の「DATA1」列において、見出しを除いた「データ部分のみ」を指定する構造化参照の記述として正しいものを解答しなさい。Range("Table1[]")あるいはRange("Table1[],[上記空欄と同じ]")と記述します。 17. __________,__________ 次のコードを実行した時に、メッセージボックスに表示される語句を解答しなさい。 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 Japan Italy 何も表示されなかった。 Germany None 18. __________,__________ 次のコードは、セル範囲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 19. __________,__________ イミディエイトウィンドウの機能として、正しいものを選択肢の中から1つ解答しなさい。 定数(Const)の値を変更するための場所である。 プログラムを実行しながら、変数の値を書き換える(代入する)ことができる。 コードを1行ずつ実行(ステップ実行)するための専用画面である。 プロシージャの中に記述されたコメントの一覧を表示する。 None 20. __________,__________ 次のコードは、Cドライブ下のDocumentsフォルダ内で、ファイル名"total2023.xlsx "を "backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:\Documents¥total2023.xlsx","C:\Documents¥backup2023.xlsx" End Sub 21. __________,__________ 以下のコードは、指定したセル範囲から値をひとつずつ取り出し、変数に格納するマクロである。 実行後メッセージに表示された値は である。 空欄に入る適切な値を解答しなさい。 Sub Exam1() Dim N As Range, A As Long For Each N In Range("A1:A10") A = A + N Next N MsgBox A End Sub 22. __________,__________ 以下のコードはフィルターで絞り込み後、テーブル内の見出し行ごとコピーし、 シート名「Sheet8」のセルC1に貼り付けるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject. .AutoFilter 3, "700" .Copy Sheets("Sheet8").Range("C1") End With End Sub 23. __________,__________ 次のコードは、セルA1を含む表を2列目が "Potato"と等しい条件で絞り込み、 その結果が何件あるかをメッセージボックスに表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Potato" MsgBox WorksheetFunction. (3, Range("A:A")) – 1 End Sub 24. __________,__________ 次のコードは、セルA1を含む表を2列目が"Apple"と等しい条件で絞り込み、 その結果が何件あるかをメッセージボックスに表示するマクロである。 マクロ実行後、表示された値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Apple" MsgBox WorksheetFunction.Subtotal(3, Range("A:A")) -1 End Sub 25. __________,__________ 次のコードは、テーブル内の見出しを含む3列目を指定するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1[[ ],[]]").Select End Sub 26. __________,__________ 次のコードは、表のセル範囲を一行目は見出し行とし、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 27. __________,__________ 以下の文書は、マクロの論理エラーを発生するタイミングに応じて2つに分類したものです。 空欄に入る適切なものを選択肢中なかから1つ解答しなさい。 ・論理エラー ∟【 ① 】 エラー・・・ マクロが実行される際、VBEはコード全体を「Excel が理解できる形式」に変換します。 この変換は①「上記空欄と同じ」と呼ばれています。この時点で論理的な誤りが検出されると、実行前にエラーが発生します。 ∟【 ② 】エラー・・・ 論理的な誤りが含まれていても、その部分が実際に実行されるまでエラーが発生しない場合があります。 ① 構文 , ② 記述 ① 記述 , ② 構文 ① コンパイル , ② 実行時 ① 実行時 , ② コンパイル None 28. __________,__________ 次のコードは、ブックの保存状態を調べ、調べた結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs “book.xlsm” If ThisWorkbook. = True Then MsgBox “Changed” Else MsgBox “No Changed” End IfEnd Sub 29. __________,__________ 以下の文章はCallステートメントに関する説明である。説明が間違っているものを、次の選択肢の中から1つ解答しなさい。 Callステートメントを使用すると、呼び出されたプロシージャは常に最後まで実行され、元のプロシージャに戻ることはできない。 別のプロシージャを呼び出すとき、”Call”の記述を省略し、プロシージャ名を記述すれば呼び出すことができる。 別のプロシージャを呼び出し実行することができる。 Callステートメントは呼び出した別のプロシージャに、計算や処理で使う引数を渡すことができる。 None 30. __________,__________ 以下の文章はテーブルの部位「行」を指定する説明である。 空欄に入る適切な語句を解答しなさい。 ・テーブルの「行」を指定する方法 構造化参照を使って(Rangeとテーブル名を使用して)、テーブルの行を指定することはできません。 テーブルの行を指定したいときは、ListObject. で行全体を表します。 31. __________,__________ VBEのエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 記述エラーは、VBAの文法ではない記述をした時に命令すると発生するエラーである。 VBE内で記述に誤りがあると該当箇所が赤文字で表示される。 記述エラーは文法エラーとも呼ばれている。 VBE内でEnterキーを押すと、コードに誤りがないかチェックをする。 None 32. __________,__________ プロシージャの引数に関する説明として間違っているものを、次の中から1つ解答しなさい。 呼び出し元のプロシージャが引数を指定していない時や、引き渡す引数の数に違いがあってもエラーにはならない。 引数を引き受けるプロシージャはプロシージャ名の後に受け取る引数の名前を、括弧で囲い記述する。 引数はどんな種類の値で受け取るかという型を指定することができる。 プロシージャが引数を複数受け取る際は、引数を(,)カンマで区切って記述をする。 None 33. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの上から下に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (2, 4).End()) = "RED" End Sub 34. __________,__________ 次のコードは、1番目、2番目の並べ替え基準を指定し並び替えを実行するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlDescending, :=Range("C1"), :=xlAscending, Header:=xlYes MsgBox Range("C3").Value End Sub 35. __________,__________ 文字列が含まれるセルがあるかどうかを判定してメッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおFunctionプロシージャ内のInStr関数は、検索文字列の指定のセル範囲で見つかった場合は位置を数値で返し、見つからなかった場合は0を返す関数である。 Sub Exam1() Dim SearchCell As String SearchCell = InputBox("探したい文字列は?") If SearchCell "" Then If FindStringInSheet (SearchCell) = True Then MsgBox("検索した文字列は見つかりました。") Else MsgBox("検索した文字列は見つかりませんでした。") End If End If End Sub Function FindStringInSheet(searchString As String) As Boolean Dim cell As Range For Each cell In ActiveSheet.Range("A1:C11") If InStr(cell.Value, searchString) > 0 Then FindStringInSheet = True Exit Function End If Next cell FindStringInSheet = End Function 36. __________,__________ 以下のコードは、表の3列目に入力されている値を昇順に並べ替えるマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1").Sort :=Range("D1"), :=xlAscending, :=xlYes End Sub 37. __________,__________ 次のコードは、指定したセル範囲に入力されている数値を合計し、 その合計値を別のセルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B20") = . (Range("B1:B19")) End Sub 38. __________,__________ 以下のコードは、エラーが発生したら処理を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 39. __________,__________ 次のコードは、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 If IsNumeric(C) = True Then Cells(i, 2) = C End If Next C Next iEnd Sub 40. __________,__________ 次の文章は、デバッグ作業で使うイミディエイトウィンドウの説明と出力コードです。 空欄に入る適切な語句を解答しなさい。 次のコードは実行すると、イミディエイトウィンドウに「12345」を出力します。 Sub Exam1() . 12345 End Sub