【ランダム順出題】Excel VBA スタンダード 模擬試験 200問中40問ランダム出題 ベータ版 Excel VBA スタンダード 模擬問題 模擬試験 2025.09.292025.10.02 【ランダム順出題】Excel VBA スタンダード 模擬試験 200問中40問出題 ベータ版 1. __________,__________ 以下の文章はテーブルの部位「行」を指定する説明である。 空欄に入る適切な語句を解答しなさい。 ・テーブルの「行」を指定する方法 構造化参照を使って(Rangeとテーブル名を使用して)、テーブルの行を指定することはできません。 テーブルの行を指定したいときは、ListObject. で行全体を表します。 2. __________,__________ 次のコードは、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 3. __________,__________ 次のコードは、エラーが発生した際に、エラー番号に応じて適切なメッセージを表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 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 4. __________,__________ 以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。 マクロ実行後のアクティブシートのシート名を解答しなさい。・マクロ実行後のアクティブシートのシート名は である。なおオブジェクト変数「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 5. __________,__________ 次のコードは並べ替える時に、数値とテキストを別々に扱うマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“C2”), SortOn:=xlSortOnValues, Order:=xlAscending, :=xlSortNormal .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 6. __________,__________ 次のコードは、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 7. __________,__________ 次のコードは、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 8. __________,__________ 次のコードは、指定された範囲内で特定の値を検索し、その値が見つかったセルの相対的な位置をメッセージボックスで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 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 9. __________,__________ 次のコードは、変数Bのデータの形式を判定してメッセージボックスに表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant B = 123.45 If (B) = “Double” Then MsgBox “Bの型は「Double」です” Else MsgBox “Bの型は「Double」ではありません” End If End Sub 10. __________,__________ 以下の文章は、イミディエイトウィンドウに関する説明です。 空欄に入る適切な語句を解答しなさい。 ・イミディエイトウィンドウでシート名”Sheets(1)”を削除する命令「Delete」を実行する場合、次のように入力します。 例) ① .delete 11. __________,__________ 次のコードは、宣言時には要素数を指定せず、途中で要素数を4に指定したマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries As String countries(4) countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” countries(4) = “Japan” MsgBox countries(3) End Sub 12. __________,__________ 次の文章はデバッグ作業の内 、マク口のコードを1行ずつ止めながら実行する説明である。 空欄に入る適切な語句を解答しなさい。 ・VBE内のマク口のコードを1行ずつ止めながら実行するのが ① です。 ・①*上記空欄と同じの操作をコードの最初から行うには、実行したいプロシージャの中にカーソルを置き、② キーを押します。 ・実行すると、プロシージャのカーソル置いた箇所が黄色くハイライトされます。 これ以降、②*上記空欄と同じキーを押すたびに、 1行ずつマクロが実行されます。 13. __________,__________ 次のコードは、全ての開いているブックの中に"VBA"という名前のシートがあるか確認するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim wb As Workbook Dim ws As Worksheet For Each wb In For Each ws In wb.Sheets If ws.Name = “VBA” Then MsgBox “OK” Exit Sub End If Next ws Next wb MsgBox “Nothing” End Sub 14. __________,__________ 次のコードは、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 15. __________,__________ 次のコードは、指定された範囲内の"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 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. __________,__________ 次のコードは、セル範囲内を合計するSUM関数をVBAで実行するマクロである。 以下の空欄に入る空欄に入る最も適切な選択肢を解答しなさい。 Sub Exam1() Range("C15") = 【 ① 】.Sum(Range("C1:C14")) End Sub worksheetfunction Application.WorksheetFunction Application worksheetfunctions None 18. __________,__________ 次のコードは、アクティブブックを"Documents"フォルダ内に「total_7.xlsx」として保存するマクロである。 なおブック名の「7」は、7月現在の月を表示したものである。 以下の空欄に入る適切な解答を記入しなさい。 Sub Exam1() ActiveWorkbook. "C:\Documents¥" & "total_" & (Now) & ".xlsm" 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. __________,__________ VBAの論理エラーに関する説明として間違っているものを、次の選択肢の中から2つ解答しなさい。 論理エラーはマクロ実行前に分かるエラーである。 論理エラーはエラー発生の状態で分けるとコンパイルエラーと実行時エラーに分けられる。 論理エラーは文法的なエラーではないが、論理的な矛盾によって発生するエラーである。 論理エラーはVBAの文法的に誤りがあるエラーである。 21. __________,__________ 以下のコードは、ユーザーが指定した語句の順番に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet1”). Sort .SortFields. Clear .SortFields.Add Key:=Range(“B2”), CustomOrder:=“Golf Basketball*左記空欄と同じTennis” .SetRange Range(“A1”).CurrentRegion .Header = xlYes .Apply End With End Sub 22. __________,__________ 次のコードは、動的配列を使用したマクロである。 実行後、メッセージに表示されたのは である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries() As String ReDim countries(3) countries(0) = “Canada” countries(1) = “France” countries(2) = “Germany” countries(3) = “Italy” ReDim countries(4) countries(4) = “Japan” MsgBox countries(0) & countries(1) & countries(2) & countries(3) & countries(4) End Sub 23. __________,__________ 以下のコードは、セル範囲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 24. __________,__________ 以下のコードは配列を使用し、実行した結果メッセージに"Canada"が表示されるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim countries( To 4) As String countries(0) = "Canada" countries(1) = "France" countries(2) = "Germany" countries(3) = "Italy" countries(4) = "Japan" MsgBox countries(*上記空欄と同じ) End Sub 25. __________,__________ 次のコードは、テーブルの集計行をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Range("E5") End Sub 26. __________,__________ 以下のコードは、B列のセル内の文字列を結合し結果をメッセージボックスで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, N As String For i = 2 To 8 N = N %BLANK% Cells(i, 2) Next i MsgBox N End Sub = And Plus & None 27. __________,__________ 次のコードは、表を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 28. __________,__________ 次のコードは、Cドライブ下のDocumentsフォルダ内で、ファイル名"total2023.xlsx "を"backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() FileCopy "C:\Documents¥total2023.xlsx" "C:\Documents¥backup2023.xlsx" End Sub 29. __________,__________ 次のコードは、 セル範囲A2:A10に入力されている文字列から"-"を除去した結果を2列目に入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 Cells(i, 2) = (Cells(i, 1), "-", "") Next i End Sub 30. __________,__________ 次のコードはシートの左側のテーブルが最初に作成され、右側のテーブルが2番目に作成されたマクロである。 この状態でマクロを実行したとき、下線が設定されたセルの値は である。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, ”Germany” .ListColumns(3).DataBodyRange.Font.Underline = True End With End Sub 31. __________,__________ 以下のコードは、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 32. __________,__________ 次のコードは、1列目を見出しごと選択し、選択した列数を表示するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").ListObject. .Range .Select MsgBox Selection.Columns.Count End Sub 33. __________,__________ 次のコードは、漢字が入力されているC列各セルに対して、 ふりがなが設定されていればそのふりがなを、 ふりがなの設定がなく漢字がそのまま入力されている時 は"0"と、D列の各セルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 If Cells(i, 3).. = "" Then Cells(i, 4) = "0" Else Cells(i, 4) = Cells(i, 3).*上記空欄と同じ.*上記空欄と同じ End If Next i End Sub 34. __________,__________ VBAのコンパイルエラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 コンパイルエラーはマクロの実行前に検出されるため、実行前にエラーを修正できる。 コンパイルエラーはコードに論理的な誤りがある場合に発生する。 Option Explicitを使用していない場合でも、コンパイルエラーは発生することがある。 コンパイルエラーはマクロの実行中に検出される。 None 35. __________,__________ 以下のコードはフィルターで絞り込み後、テーブル内の見出し行ごとコピーし、 シート名「Sheet8」のセルC1に貼り付けるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject. .AutoFilter 3, "700" .Copy Sheets("Sheet8").Range("C1") End With End Sub 36. __________,__________ 次のコードは、新たにDocumentsフォルダの下にReportsフォルダを作成するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:¥Documents¥Reports" End Sub 37. __________,__________ 次のコードは、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 38. __________,__________ 次のコードは、2列目の各セルに入力されている半角文字を全角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, ) Next i End Sub 39. __________,__________ 以下のマクロを実行したところ、セルC1内に「150」と表示された。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B1") = 50 Exam2() End Sub Sub Exam2() Range("C1") = Range("B1") *3 End Sub 40. __________,__________ 以下のコードは、ブックの最後のシートのセルD5に"Country"と入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim ws As ws = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) ws.Range("D5").Value = "Country" End Sub