【ランダム順出題】Excel VBA スタンダード 模擬試験 ⑤ Excel VBA スタンダード 模擬問題 模擬試験 2025.09.282025.10.02 【ランダム順出題】Excel VBA スタンダード 模擬試験 ⑤ 1. __________,__________ 次コードは実行すると "1234" がメッセージボックスに表示されるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A(3) As Long, N As Variant, i As String A(0) = 1 A(1) = 2 A(2) = 3 A(3) = 4 For Each In A i = i & N Next N MsgBox i End Sub 2. __________,__________ 次のコードは、Cドライブ下のDocumentsフォルダ内で、ファイル名"total2023.xlsx "を "backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() "C:\Documents¥total2023.xlsx","C:\Documents¥backup2023.xlsx" End Sub 3. __________,__________ 次のコードは並べ替える時に、数値とテキストを別々に扱うマクロである。 空欄に入る適切な語句を解答しなさい。 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 4. __________,__________ 次のコードは、ブックにNOW関数を利用し今日の日付と時刻で 「2024_08_04_1820.xlsm」のような形式のファイル名で保存するマクロである。 空欄に入る最も適切な語句の組み合わせを選択肢より解答しなさい。 Sub Exam1() ThisWorkbook.SaveAs "C:\Backup\" &【 ① 】 (Now, "【 ② 】") & ".xlsm" End Sub 【 ① 】Format 【 ② 】yyyy_mm_dd_HHMM 【 ① 】 DateValue【 ② 】 yyyy_mm_dd_HHMM 【 ① 】 Format 【 ② 】yyyy-mm-dd hh:mm 【 ① 】Text【 ② 】 yyyy_mm_dd_HHMM None 5. __________,__________ 次のコードは、セルA1を含む表を指定条件で絞り込み、4列目にREDと入力するマクロである。 なお、セル範囲を特定する際にEndモードを使用しているがシートの上から下に向かって進んでセル範囲を特定している。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Tomato" Range (Range ("D2"), Cells (2, 4).End()) = "RED" End Sub 6. __________,__________ 次のコードは、1番目、2番目の並べ替え基準を指定し並び替えを実行するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlDescending, :=Range("C1"), Order2:=xlAscending, Header:=xlYes MsgBox Range("C3").Value End Sub 7. __________,__________ 次のコードは、動的配列を使用したマクロである。 実行後、メッセージに表示されたのは である。 空欄に入る適切な語句を解答しなさい。 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 8. __________,__________ 次のコードは、セルA1を含む表を2列目が "Potato"と等しい条件で絞り込み、 絞り込んだ結果の値の合計をメッセージボックスに表示するマクロである。 空欄に入る適切な引数を解答しなさい。 Sub Exam1() Range("A1").AutoFilter 2, "Potato" MsgBox WorksheetFunction.Subtotal(, Range("A:A")) End Sub 9. __________,__________ 以下のマクロを実行したところ、セルC1内に「150」と表示された。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("B1") = 50 Exam2() End Sub Sub Exam2() Range("C1") = Range("B1") *3 End Sub 10. __________,__________ 次のコードはオートフィルターをかけた後、見出し行を除いたデータ領域のみをコピーするマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim N As Range Range(”A1”).AutoFilter 2,"Potato" Set N = Range("A1").CurrentRegion.Offset N.Copy Range("E2") Range("A1").AutoFilter 2 End Sub 11. __________,__________ 次のコードは別のプロシージャへ引数を引き渡すマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Call Exam2("baseball") End Sub Sub Exam2(N As ) MsgBox N End Sub 12. __________,__________ 次のコードはテーブルをオートフィルターで絞り込み、テーブル内の列を複数コピーするマクロである。 実行後メッセージに表示された数値は である。 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 13. __________,__________ VBAの実行時エラーに関する説明として間違っているものを、次の選択肢の中から1つ解答しなさい。 実行時エラーはコードの実行前に検出される。 実行時エラーは、ユーザーの入力やファイルの読み込みなど、実行時の状況によって発生することがある。 実行時エラーは、コードの文法には誤りがなくても、実行中に発生するエラーである。 実行時エラーが発生しても、通常はVBAコードの実行が停止する。 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. __________,__________ 次のコードは、指定されたセル範囲の中から空欄をチェックし、最初に見つかった空欄セルの位置をメッセージボックスで表示するマクロです。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim cell As Range For Each cell In ("A1:A10") If cell.Value = "" Then MsgBox cell.Address Exit Sub End If Next cell End Sub 16. __________,__________ 以下のコードを実行後、表示される値はである。 空欄に入る値を答えなさい。 Sub Exam1() Range("A1:C11").Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("C1"), Order2:=xlDescending, Header:=xlYes MsgBox Range("C2").Value + Range("C7").Value End Sub 17. __________,__________ 次のコードは、 セル範囲A2:A10に入力されている文字列データから 「- 」を除去した結果を2列目に入力するマクロである。 ”” (空欄文字列なし)を入れる位置は【 ① 】と【 ② 】どこが適切か選択肢から解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 Cells(i, 2) = Replace(Cells(i, 1), 【 ① 】 , 【 ② 】) Next i End Sub 【 ① 】 【 ② 】 【 ① 】と【 ② 】 【 ① 】と【 ② 】どちらもあてはまらない。 None 18. __________,__________ 次のコードは、Cドライブ下のDocumentsフォルダ内で、ファイル名"total2023.xlsx "を"backup2023.xlsx"と名前を変えてファイルをコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() FileCopy "C:\Documents¥total2023.xlsx" "C:\Documents¥backup2023.xlsx" End Sub 19. __________,__________ 次のコードは、テーブルの集計行をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range("table1 ").Copy Range("E5") End Sub 20. __________,__________ 次のコードは、全ての開いているブックの中に"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 21. __________,__________ 指定の値が日付と認識できるか確認したい。 このような場合に使用する最適な関数はどれか。 次の選択肢の中から1つ解答しなさい。 Dateserial IsDate Date Day None 22. __________,__________ 以下のコードは、ユーザーが指定した語句の順番に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 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 23. __________,__________ 次の文章はイミディエイトウィンドウの操作についての説明です。 空欄に入る適切な語句を、選択肢の中から1つ解答しなさい。 ・イミディエイトウィンドウは、マクロが停止しているデバッグモードや、 VBEの【 ① 】メニューから「イミディエイトウィンドウ」を表示することができます。 また変数の内容やプロパティ、実行中のマクロに関する情報を表示し、命令を実行するために使用します。 ・イミディエイトウィンドウの表示方法には、[表示]メニューから以外に、Ctrl + 【 ② 】キーを押す方法もあります。 ① 実行 , ② I ① 挿入 , ② D ① ツール , ② W ①表示 , ② G None 24. __________,__________ 次のコードは、A列に入力されている値から、当月の月末日を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim endOfMonth As Date endOfMonth = WorksheetFunction. (DateSerial(Range(“A1”).Value, Range(“A2”).Value, Range(“A3”).Value), 0) MsgBox “月末の日付は “ & endOfMonth End Sub 25. __________,__________ 次のコードは配列に格納した値をメッセージで表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim B As Variant Dim i As Long B = Split("baseball:football:basketball", " ") For i = LBound(B) To UBound(B) MsgBox B(i) Next i End Sub 26. __________,__________ 次のコードは、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 27. __________,__________ 以下のコードは配列を使用し、実行した結果メッセージに"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 28. __________,__________ 次のコードは、指定のセル範囲内で「Banana」という値を検索し、そのセルをコピーしてセルの背景を黄色にするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range("B2:B10").(What:=“Banana”, Lookat:=xlWhole) If Not N Is Nothing Then N.Copy Range("C2") Range("C2").Interior.Color = vbYellow End If End Sub 29. __________,__________ 次のコードは、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 Is < 700 Cells(i, 3) = “Low” Case Else Cells(i, 3) = “Medium” End Select Next i End Sub 30. __________,__________ 以下の文書は、マクロの論理エラーを発生するタイミングに応じて2つに分類したものです。 空欄に入る適切なものを選択肢中なかから1つ解答しなさい。 ・論理エラー ∟【 ① 】 エラー・・・ マクロが実行される際、VBEはコード全体を「Excel が理解できる形式」に変換します。 この変換は①「上記空欄と同じ」と呼ばれています。この時点で論理的な誤りが検出されると、実行前にエラーが発生します。 ∟【 ② 】エラー・・・ 論理的な誤りが含まれていても、その部分が実際に実行されるまでエラーが発生しない場合があります。 ① 記述 , ② 構文 ① 構文 , ② 記述 ① 実行時 , ② コンパイル ① コンパイル , ② 実行時 None 31. __________,__________ 次のコードは、2列目が"Germany"であるデータを、見出し行も含め全てSheet5のセルB1へコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1")..Range .AutoFilter 2, "Germany" .Copy Sheets("Sheet6").Range("B1") .AutoFilter 2 End With End Sub 32. __________,__________ 次のコードは、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 33. __________,__________ 次のコードは指定のセルを含むテーブルを絞り込み、テーブル内の2列目のみコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range("A1").ListObject .Range.AutoFilter 3, "800" . (2).Range.Copy Sheets("Sheet10").Range("B2") End With End Sub 34. __________,__________ 次のコードは、2列目の各セルに入力されている半角文字を全角文字に変換するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2).Value = (Cells(i, 2).Value, vbWide) Next i End Sub 35. __________,__________ 次のコードは、指定された範囲内の"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 36. __________,__________ 次のコードは、変数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 37. __________,__________ 次のコードは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 38. __________,__________ 次のコードは、 セル範囲A2:A10に入力されている文字列から"-"を除去した結果を2列目に入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 Cells(i, 2) = (Cells(i, 1), "-", "") Next i End Sub 39. __________,__________ プロシージャの引数に関する説明として間違っているものを、次の中から1つ解答しなさい。 プロシージャが引数を複数受け取る際は、引数を(,)カンマで区切って記述をする。 引数を引き受けるプロシージャはプロシージャ名の後に受け取る引数の名前を、括弧で囲い記述する。 引数はどんな種類の値で受け取るかという型を指定することができる。 呼び出し元のプロシージャが引数を指定していない時や、引き渡す引数の数に違いがあってもエラーにはならない。 None 40. __________,__________ 次のマクロは検索したセルの範囲を変換しコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”).Find (What:=“7”) If A Is Nothing Then MsgBox “0” Else A. (1, 3). Copy Range(“E2”) End If End Sub