【ランダム順出題】Excel VBA スタンダード 模擬試験 問題バンクから40問出題 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292026.06.30 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. __________,__________ 次のコードはシートの左側のテーブルが最初に作成され、右側のテーブルが2番目に作成されたマクロである。 この状態でマクロを実行したとき、下線が設定されたセルの値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, ”Germany” .ListColumns(3).DataBodyRange.Font.Underline = True End With End Sub 2. __________,__________ 以下のコードは、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 3. __________,__________ 以下のマクロを実行したところ、セルC1内に「150」と表示された。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B1") = 50 Exam2() End Sub Sub Exam2() Range("C1") = Range("B1") *3 End Sub 4. __________,__________ 以下のコードを実行した時表示されるメッセージはである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject.DataBodyRange.Copy Sheets("Sheet9").Range("A1") MsgBox Sheets("Sheet9").Range("C1") End Sub 5. __________,__________ 次のコードは指定のセルを含むテーブルを絞り込み、テーブル内の2列目のみコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject .Range.AutoFilter 3, "800" . (2).Range.Copy Sheets("Sheet10").Range("B2") End With End Sub 6. __________,__________ 次のコードは、1番目、2番目の並べ替え基準を指定し並び替えを実行するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlDescending, :=Range("C1"), :=xlAscending, Header:=xlYes MsgBox Range("C3").Value End Sub 7. __________,__________ 次のコードは、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 8. __________,__________ 以下のコードはフィルターで絞り込み後、テーブル内の見出し行ごとコピーし、 シート名「Sheet8」のセルC1に貼り付けるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject. .AutoFilter 3, "700" .Copy Sheets("Sheet8").Range("C1") End With End Sub 9. __________,__________ 以下のコードは、表の2列目が “Canada “または"United Kingdom"の条件で絞り込むマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range( “A1 “).AutoFilter 2, “Canada “, , “United Kingdom" End Sub 10. __________,__________ 次のコードは、表のセル範囲を一行目は見出し行とし、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 11. __________,__________ 以下のコードは、2列目が"Japan"であるセルと同じ行の3列目に入力されている数値を合計して、セルE2に表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long Range("E2") = WorksheetFunction. (Range("B2:B10"), "Japan", Range("C2:C10")) End Sub 12. __________,__________ 次のコードは、表の3列目を「500以上」の値で絞り込むマクロである。 絞り込み条件(抽出条件)を指定する引数名として正しいものを解答しなさい。 Sub Exam1() Range("A1").AutoFilter Field:=3, ">=500"End Sub 13. __________,__________ 次の文章はイミディエイトウィンドウの操作についての説明です。 空欄に入る適切な語句を、選択肢の中から1つ解答しなさい。 ・イミディエイトウィンドウは、マクロが停止しているデバッグモードや、 VBEの【 ① 】メニューから「イミディエイトウィンドウ」を表示することができます。 また変数の内容やプロパティ、実行中のマクロに関する情報を表示し、命令を実行するために使用します。 ・イミディエイトウィンドウの表示方法には、[表示]メニューから以外に、Ctrl + 【 ② 】キーを押す方法もあります。 ① ツール , ② W ①表示 , ② G ① 挿入 , ② D ① 実行 , ② I None 14. __________,__________ 次のコードは日本語のふりがなを設定し、そのふりがなを使って並べ替えるマクロである。 コード空欄に入る適切な語句を解答しなさい。 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 15. __________,__________ Stopステートメントに関する説明として正しいものを、次の選択肢の中から1つ解答しなさい。 Stopステートメントは、コードの実行を一時的に停止するが、その後の実行再開は自動的に行われる。 Stopステートメントは、プロシージャ内に複数設定することができ、コードの異なる場所で実行を中断させるのに利用できる。 Stopステートメントは、プロシージャ内で1回しか使用できない。 Stopステートメントは、Ifステートメントなどの条件式と組み合わせることはできない。 None 16. __________,__________ セル内の文字列をStrConv関数で半角にしたい。このような場合に使用する最適な定数はどれか。 次の選択肢の中から1つ解答しなさい。 vbKatakana vbNarrow vbWide vbUpperCase None 17. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの一番下から上に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (Rows.Count, 4).End()) = "RED" End Sub 18. __________,__________ 以下の選択肢はブレークポイントに関する説明である。 誤っているものを、選択肢の中から1つ解答しなさい。 ブレークポイントは、1つのプロシージャ内に1箇所のみ設定することができる。 マクロ実行しブレークポイントで一時停止した時、ブレークポイントを設定した行のコードは未実行である。 ブレークポイントを設定した行でマクロが一時停止する。 ブレークポイントを設定するショートカットキーは、一時停止したいコードの行カーソルを置き「F9」キー押下し設定する。 None 19. __________,__________ 以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。 マクロ実行後のアクティブシートのシート名を解答しなさい。・マクロ実行後のアクティブシートのシート名は である。なおオブジェクト変数「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 20. __________,__________ 次のコードは、 セル範囲A2:A10に入力されている文字列から"-"を除去した結果を2列目に入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 Cells(i, 2) = (Cells(i, 1), "-", "") Next i End Sub 21. __________,__________ VBAの実行時エラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 実行時エラーは、コードの文法には誤りがなくても、実行中に発生するエラーである。 実行時エラーは、ユーザーの入力やファイルの読み込みなど、実行時の状況によって発生することがある。 実行時エラーが発生しても、通常はVBAコードの実行が停止する。 実行時エラーはコードの実行前に検出される。 None 22. __________,__________ 次のコードは、数値を4桁の文字列にし更に”SXXXX”の形式に整えるコードである。 なお各桁に値がない時も”0”を表示するように設定をした。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long For i = 2 to 5 Cells(i, 2) = ”S”& (i, " ") Next i MsgBox Range(”B4”) End Sub 23. __________,__________ 以下のコードは、セルA1を含む表の3列目を300より小さい条件で絞り込み、 その結果全体をSheet5のセルC1にコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "<300" Range("A1"). .Copy Sheets("Sheet5").Range("C1") End Sub 24. __________,__________ 次のコードは、コードの途中で配列の要素数を増やし、その後メッセージボックスに"Germany"と表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim Countries() As String Countries(2) Countries(0) = "Canada" Countries(1) = "France" Countries(2) = "Germany" 「上記空欄と同じ」 Countries(4) Countries(3) = "Italy" Countries(4) = "Japan" MsgBox Countries(2) End Sub 25. __________,__________ 次のコードは、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 26. __________,__________ VBAの TypeName 関数に関する説明として、最も適切なものを選択肢の中から1つ選びなさい。 セルに入力されている値だけでなく、変数に格納されている値のデータ型も調べることができる。 数に格納されている値のデータ型のみを調べることができる。 セルに入力されている値のデータ型のみを調べることができる。 変数名が文法的に正しいかどうかのみを調べることができる。 None 27. __________,__________ VBAコードにおける「引数(ひきすう)」の説明として、最も適切なものを選択肢の中から1つ選びなさい。 プロシージャを呼び出す際に、計算や処理の元となる値を渡す仕組みのことである。 1つの変数の中に、複数の値を同時に格納できる変数のことである。 マクロの最小実行単位のことである。 マクロの実行を途中で強制的に終了させるための命令のことである。 None 28. __________,__________ 以下のコードは、表の3列目に入力されている値を昇順に並べ替えるマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1").Sort :=Range("D1"), :=xlAscending, :=xlYes End Sub 29. __________,__________ 次のコードは別のプロシージャへ引数を引き渡すマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Call Exam2("baseball") End Sub Sub Exam2(N As ) MsgBox N End Sub 30. __________,__________ 次のコードは、新たにDocumentsフォルダの下にReportsフォルダを作成するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:¥Documents¥Reports" End Sub 31. __________,__________ 以下コードは条件を満たした際に、処理を実行する条件分岐のマクロである。 セルD11にはセルD2からD10の合計値が表示されます。 マクロ実行時のセルD11の値は である。 Sub Exam1() Dim i As Long For i = 2 To 11 If Cells(i , 1) = "2" Then If Cells(i, 2) = "Japan" Then Cells (i, 4) = Cells(i, 3) * 2 End If If Cells(i , 1) = "3" Then If Cells(i , 2) = "United States" Then Cells (i, 4) = Cells(i, 3) * 3 End If Next i End Sub 32. __________,__________ 次のコードはテーブルをオートフィルターで絞り込み、テーブル内の列を複数コピーするマクロである。 実行後メッセージに表示された数値は である。 Sub Exam1() With Range(“A1”).ListObject .Range.AutoFilter 2, “Tennis” .ListColumns(1).Range.Copy Sheets(“Sheet2”).Range(“A1”) .ListColumns(3).Range.Copy Sheets(“Sheet2”).Range(“B1”) End With MsgBox Sheets(“Sheet2”).Range(“A3”) * Sheets(“Sheet2”).Range(“B3”) End Sub 33. __________,__________ 次のコードは、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 34. __________,__________ 次のコードは、ブックを続けて開き、その後ブック名をメッセージで表示するマクロである。 以下の空欄に入る適切な語句を選択肢の中から解答しなさい。 ・マクロ実行後、最後にアクティブ状態となるブックは【 ① 】である。 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 35. __________,__________ 次のマクロは、Cドライブの「Temp」フォルダにあるファイルを、同じフォルダ内へ別名でコピーするものである。 コピー先となる「Backup.xlsx」が既に存在している状態でこのマクロを実行したとき、どのような結果になるか適切なものを選択しなさい。Sub Exam1() Dim A As String Dim N As String A = ”C:\Temp\Data.xlsx” N = ”C:\Temp\Backup.xlsx” FileCopy A, NEnd Sub 確認メッセージは表示されず、既存のファイルが上書きされてマクロが終了する。 「既にファイルが存在します。上書きしますか?」という確認メッセージが表示される。 エラーメッセージが表示され、マクロの実行が中断される。 コピーは行われず、既存のファイルが保護されたままマクロが終了する。 None 36. __________,__________ 次のコードは、2列目の各セルに入力されている半角文字を全角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 37. __________,__________ 次のコードは見出し行も含めテーブル全体を選択し、その行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおシート上にはテーブルは1つのみである。 Sub Exam1() With Sheets("sheet1").ListObjects ().Range.Select MsgBox Selection.Rows.Count End With End Sub 38. __________,__________ 次のコードはテーブル全体をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。なおテーブルの名前は画像の左上に表示されています。 Sub Exam1() With Range(" [ ]") .Copy Sheets("Sheet12").Range("B2") End With End Sub 39. __________,__________ 次のコードは宣言時には、配列の要素数の上限数が不明であり、指定の値を区切り文字で区切り配列に格納するマクロである。 空欄に入る適切な語句を解答しなさい。 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 40. __________,__________ 次のコードは、2列目の1行目から15行目に「5」を入力する時に、2列目のセルが空欄の場合には処理を一時停止するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Dim i As Long, valueToInsert As Long valueToInsert = 5 For i = 1 To 15 If Cells(i, 2) = "" Then Else Cells(i, 2).Value = valueToInsert End If Next i End Sub