【ランダム順出題】Excel VBA スタンダード 模擬試験 200問中40問ランダム出題 ベータ版 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292025.10.02 【ランダム順出題】Excel VBA スタンダード 模擬試験 200問中40問出題 ベータ版 1. __________,__________ 次のコードは、テーブル内の見出しを含む「Data3」列を指定するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1[[ ],[ ]]").Select End Sub 2. __________,__________ 変数の参照渡しと値渡しに関する説明として間違っているものを、次の中から解答しなさい。 値渡しは変数に格納された値のコピーを渡す。 引数の定義の ByVal、ByRef キーワードを省略すると、参照渡しになる。 参照渡しは変数そのものを渡す。 引数の定義に "ByVal" をつけるときは参照渡しに、"ByRef" をつけると値渡しになる。 None 3. __________,__________ 次のコードを実行後、メッセージに表示される値は である。 空欄に入る適切な語句を解答しなさい。 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 4. __________,__________ 以下のコードは、エラーが発生したら処理を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" & . End Sub 5. __________,__________ 次のコードは実行したとき、メッセージボックスには6が表示されるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Long ReDim N(3) N(0) = 0 N(1) = 1 N(2) = 2 N(2) = 3 MsgBox N(0) + N(1) + N(2) + N(3) End Sub 6. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_8.xlsm」として保存するマクロである。 なおファイル名の「8」は、実行時8月現在の月を表示したものである。 空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook. "C:\Documents¥" & "total_" & Month( ) & ".xlsm" End Sub 7. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_7.xlsx」として保存するマクロである。 なおブック名の「7」は、7月現在の月を表示したものである。 以下の空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook. "C:\Documents¥" & "total_" & (Now) & ".xlsm" End Sub 8. __________,__________ 以下のコードは、指定したセル範囲から値をひとつずつ取り出し、変数に格納するマクロである。 実行後メッセージに表示された値は である。 空欄に入る適切な値を解答しなさい。 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 9. __________,__________ 以下の語群はオートフィルターの解除や、フィルターボタンについて説明したものである。 説明として正しいA、B群の組み合わせを選択肢から②とAの他に1つ解答しなさい。 A群 ⓵オートフィルターを解除したい。 ②オートフィルターボタンは残してフィルターを解除したい。 B群 A.セル.AutoFilter 列番号 B.セル.AutoFilter ⓵とB ②とB ⓵とA 10. __________,__________ VBAのコンパイルエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 Option Explicitを使用していない場合でも、コンパイルエラーは発生することがある。 コンパイルエラーはマクロの実行前に検出されるため、実行前にエラーを修正できる。 コンパイルエラーはマクロの実行中に検出される。 コンパイルエラーはコードに論理的な誤りがある場合に発生する。 None 11. __________,__________ 次のコードは、D列を基準に降順でデータを並べ替えるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”). ..Clear .上記空欄と同じ.Add2 Key:=Range(“D2”), _ SortOn:=xlSortOnValues, _ Order:=xlDescending, _ DataOption:=xlSortNormal .SetRange Range(“A1:D9”) .Header = xlYes .Apply End With End Sub 12. __________,__________ 次のコードは、指定された範囲内の"Banana"の数をカウントし個数をメッセージボックスに表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long A = WorksheetFunction. (Range(“C1:C15”), “Banana”) If A = 0 Then MsgBox “0” Else MsgBox “Banana‐” & A End If End Sub 13. __________,__________ VBAの実行時エラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 実行時エラーは、コードの文法には誤りがなくても、実行中に発生するエラーである。 実行時エラーが発生しても、通常はVBAコードの実行が停止する。 実行時エラーはコードの実行前に検出される。 実行時エラーは、ユーザーの入力やファイルの読み込みなど、実行時の状況によって発生することがある。 14. __________,__________ 次の文章は、イミディエイトウィンドウに関する説明です。 以下の空欄に入る適切な語句を解答しなさい。 イミディエイトウィンドウに range("C2").Value のように*上記空欄と同じを先頭につけて入力し、エンターキーを押すと、 プロパティの値や変数の値、関数の結果を調べてイミディエイトウィンドウに表示することができます。 例:Valueプロパティ 15. __________,__________ 以下のコードは、同じ行の2列目から4列目に入力されている値から日付を作成し、1列目に入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 1).Value = (Cells(i, 2).Value, Cells(i, 3).Value, Cells(i, 4).Value) Next i End Sub 16. __________,__________ 次のコードは、 対象のセル範囲に負の数があれば、メッセージボックスに”-”と表示後、繰り返し処理を終了し、"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 End If Next cell End Sub 17. __________,__________ 次のコードは、Cドライブ下のDocumentsフォルダ内で、ファイル名"total2023.xlsx "を"backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() FileCopy "C:\Documents¥total2023.xlsx" "C:\Documents¥backup2023.xlsx" End Sub 18. __________,__________ 次の文章はイミディエイトウィンドウのコードウィンドウの切り離しについての説明です。 空欄に入る適切な語句を解答しなさい。 ・イミディエイトウィンドウは、タイトルバーをドラッグすることでコードウィンドウから分離し、任意の位置に配置することができます。 ・コードウィンドウに接続されている状態を ① と呼び、分離した状態を ② と呼びます。 ①の状態図 ②の状態図 19. __________,__________ 次のコードは、Do…Loopステートメントにより変数の値が指定した条件まで 処理を繰り返し続け、指定条件となった時は、処理を抜けてLoopの次の行からの処理を行うマクロである。 以下の空欄に入る適切な値を解答しなさい。 :Exit Doが実行されるとき変数「i」の値は である。 Sub Exam1() Dim i As Long, N As Long Do While i < 100 i = i + 1 Cells(i, 1).Offset(0, 2) = 20 N = N + 20 If N > 150 Then Exit Do End If Loop MsgBox “End” End Sub 20. __________,__________ 次のコードは配列に格納した値をメッセージで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant Dim i As Long B = Split(“baseball:football:basketball”, “:”) For i = (B) To UBound(B) MsgBox B(i) Next i End Sub 21. __________,__________ 次のコードは、For…Nextステートメントを用いて、1列目の値が”Boxing” か”Swimming”のときは2列目に”〇”を代入し、 それ以外の時は2列目に”Ballgame”を代入するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Select Case Cells(i, 1) Case “Boxing” “Swimming” Cells(i, 2) = “〇” Case Cells(i, 2) = “Ballgame” End Select Next i End Sub 22. __________,__________ 次のコードは、表を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 23. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 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 24. __________,__________ 次のコードは実行すると「Banana」と表示するマクロである。 以下の空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range("A2:A10").Find(What:=" ", Lookat:= xlWhole) MsgBox A.Offset(0, 1) End Sub 25. __________,__________ 次の文章はイミディエイトウィンドウの操作についての説明です。 空欄に入る適切な語句を解答しなさい。 ・イミディエイトウィンドウは、マクロが停止しているデバッグモードや、 VBEのメニューから「イミディエイトウィンドウ」を表示することができます。 また変数の内容やプロパティ、実行中のマクロに関する情報を表示し、命令を実行するために使用します。 ・イミディエイトウィンドウの表示方法には、[表示]メニューから以外に、Ctrl + キーを押す方法もあります。 26. __________,__________ 次のコードを実行した結果、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 27. __________,__________ 指定の値が日付と認識できるか確認したい。 このような場合に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Dateserial IsDate Day Date None 28. __________,__________ 次の文書は、漢字の並べ替えの説明である。 【 ① 】に入る適切な順番を選択肢から選び解答しなさい。 ●漢字を並べ替える時の注意点 ・漢字を並べ替える時はセルに設定されている漢字のふりがなで並べ替えます。 具体的にはセルに漢字を入力するとき、日本語変換前に入力した読みが登録されており、それを基準に並び替えています。 例)井田・・・ 1.「せいでん」で変換し入力 2.「いだ」で変換し入力 3.「井田」は変換はせずほかのアプリよりコピーペーストした。 この時の並び替え実施後の順番は【 ① 】の順で並べ替えられる。 1、2、3 3、1、2 2、1、3 None 29. __________,__________ 次のコードは、表の3列目を200以上かつ500以下の値で絞り込むマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "【 ① 】 200", xlAnd, "【 ② 】500" End Sub ①> ②<= ①> ② < ①>= ② <= ①= ② < None 30. __________,__________ 次のコードは、A列から “Baseball” という値を探し、その値の位置に対応する B 列の値をメッセージボックスで表示するマクロである。 以下の空欄に入る適切な語句を選択しなさい。 Sub Exam1() Dim searchValue As String Dim result As Variant searchValue = “Baseball” result = WorksheetFunction.Match(searchValue, Range(“A2:A11”), 0) If IsNumeric(result) Then MsgBox searchValue & “ は “ & result & “ 行目にあり、対応する値は “ & WorksheetFunction.(Range(“B2:B11”), result) & “ です。” Else MsgBox searchValue & “ は見つかりませんでした。” End If End Sub 31. __________,__________ 以下のコードは、A列を検索し、見つかったセルからC列までをセルE2へコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”). Find (What:=“8”) If A Is Nothing Then MsgBox “0” Else Range(A, A.End()).Copy Range(“E2”) End If End Sub 32. __________,__________ 次のコードを実行したとき表示されるメッセージはどれか。 正しいものを、選択肢の中から1つ解答しなさい。Sub Exam1() MsgBox TypeName(”True”) End Sub True False Boolean String None 33. __________,__________ 次のコードは、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 34. __________,__________ 次のコードはテーブルの右側に列を追加し、セルに値を入力するコードである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long With Range("A1").ListObject .ListColumns. A = .ListColumns.Count .ListColumns(A).DataBodyRange = "=[@Data3]*0.7" End With End Sub 35. __________,__________ 次のコードは、指定したセル範囲に入力されている数値を合計し、 その合計値を別のセルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B20") = . (Range("B1:B19")) End Sub 36. __________,__________ 文字列が含まれるセルがあるかどうかを判定してメッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なお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 37. __________,__________ 次のコードは、ブックの保存状態を調べ、調べた結果に応じたメッセージを表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs “book.xlsm” If ThisWorkbook. = True Then MsgBox “Changed” Else MsgBox “No Changed” End IfEnd Sub 38. __________,__________ 以下のコードは、セルA1を含む表の3列目を300より小さい条件で絞り込み、 その結果全体をSheet5のセルC1にコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 3, "<300" Range("A1"). .Copy Sheets("Sheet5").Range("C1") End Sub 39. __________,__________ 次のコードは、新たにDocumentsフォルダの下にReportsフォルダを作成するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:¥Documents¥Reports" End Sub 40. __________,__________ 次のコードは、"C:\Local\total.xlsx"のブックを開いた後、 "C:\Backup\total_backup.xlsx"へ場所やファイル名かえてブックを保存するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Workbooks. "C:\Local\total.xlsx" ActiveWorkbook. "C:\Backup\total_backup.xlsx" ActiveWorkbook.Close End Sub