Excel VBA スタンダード 模擬問題 模擬試験 200 ハト 2025年8月31日 【ランダム順出題】Excel VBA スタンダード 模擬試験 200 1. スタンダード 2章,Excel スタンダード 次のコードは、動的配列を使用したマクロである。 実行後、メッセージに表示されたのは である。 空欄に入る適切な語句を解答しなさい。 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 2. スタンダード 3章,Excel スタンダード 以下コードは条件を満たした際に、処理を実行する条件分岐のマクロである。 セル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 3. スタンダード 5章,Excel スタンダード 次のコードは、セル範囲B1からB10に入力された数値のうち、 大きい順から数えて2番目の値をセルD1に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“D1”) = WorksheetFunction. (Range(“B1:B10”), 2) End Sub 4. スタンダード 1章,Excel スタンダード 変数の参照渡しと値渡しに関する説明として間違っているものを、次の中から解答しなさい。 参照渡しは変数そのものを渡す。 値渡しは変数に格納された値のコピーを渡す。 引数の定義に “ByVal” をつけるときは参照渡しに、”ByRef” をつけると値渡しになる。 引数の定義の ByVal、ByRef キーワードを省略すると、参照渡しになる。 None 5. スタンダード 9章,Excel スタンダード VBAの実行時エラーに関する説明として間違っているものを、次の選択肢の中から2つ解答しなさい。 実行時エラーはコードの実行前に検出される。 実行時エラーが発生しても、通常はVBAコードの実行が停止しない。 実行時エラーは、ユーザーの入力やファイルの読み込みなど、実行時の状況によって発生することがある。 実行時エラーは、コードの文法には誤りがなくても、実行中に発生するエラーである。 6. スタンダード 9章,Excel スタンダード 次のコードはセル内の書式を統一し、その書式を統一した値を同じセルに代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long Dim j As Long For i = 2 To 6 For j = 1 To 3 Cells(i, j). = “yy/mm/dd” Cells(i, j).Value = Cells(i, j).Value Next j Next i End Sub 7. スタンダード 9章,Excel スタンダード 次のコードは、 セル範囲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 8. スタンダード 8章,Excel スタンダード 次のコードは、オートフィルターを実行し条件にあった箇所の文字列にアンダーラインつけるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.ListObjects(2) .Range.AutoFilter 2, “Spinach” .ListColumns(3).DataBodyRange. .Underline = True End With End Sub 9. スタンダード 3章,Excel スタンダード 次のコードはセル範囲を選択し、選択したの中から一つずつセルを取り出し、取り出したセルの値を変数に加算するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range,N As Long Range(“B1”).CurrentRegion.Select For Each A In N = N + A.Value Next A MsgBox N End Sub 10. スタンダード 7章,Excel スタンダード 次のコードは、表の指定範囲を2列目を基準に上下に並び変えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“B2”), Order:=xlDescending .SetRange Range(“A1:C11”) .Header = xlYes .MatchCase = False . = xlTopToBottom .Apply End With End Sub 11. スタンダード 6章,Excel スタンダード 次のコードは、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 12. スタンダード 7章,Excel スタンダード 次のコードは、セル範囲A1:D10の先頭行をタイトル行として、 D列を基準として降順に並べ替えるマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheets1”).Sort .SortFields.Clear .SortFields.Add Key:=Range(“D2”), Order:=xlDescending .SetRange Range(“A1:D10”) .Header = xlYes . End With End Sub 13. スタンダード 8章,Excel スタンダード 次のコードは、見出し行もふくめ全て選択後、行数を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なおテーブル名は”table1”である。 Sub Exam1() With Sheets(“sheet1”).ListObjects (” ”).Range.Select MsgBox Selection.Rows.Count End With End Sub 14. スタンダード 7章,Excel スタンダード 以下のコードは、ユーザーが指定した語句の順番に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 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 15. スタンダード 8章,Excel スタンダード 次のコードはテーブルの右側に列を追加し、セルに値を入力するコードである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long With Range(“A1”).ListObject .ListColumns. A = .ListColumns.Count .ListColumns(A).DataBodyRange = “=[@Data3]*0.7” End With End Sub 16. スタンダード 5章,Excel スタンダード 次のコードは、2列目に入力されている日付から、前月の月末日を3列目に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 6 Cells(i, 3) = WorksheetFunction. (Cells(i, 2), ) Next i End Sub 17. スタンダード 6章,Excel スタンダード 次のコードはセルを検索し見つかった場合は、セルのアドレスを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Range(“A2:B11”).Find(What:=“Baseball”, Lookat:=xlWhole) If N Is Then MsgBox N.Address End If End Sub 18. スタンダード 9章,Excel スタンダード 以下の文書は、マクロの論理エラーを発生するタイミングに応じて2つに分類したものです。 空欄に入る適切な語句を解答しなさい。 ・論理エラー ∟ エラー・・・ マクロが実行される際、VBEはコード全体を「Excel が理解できる形式」に変換します。 この変換は*上記空欄と同じと呼ばれています。この時点で論理的な誤りが検出されると、実行前にエラーが発生します。 ∟ エラー・・・ 論理的な誤りが含まれていても、その部分が実際に実行されるまでエラーが発生しない場合があります。 19. スタンダード 1章,Excel スタンダード 次のコードは、引数を使わず変数Cを共有し初期値を設定するマクロである。 A ~ Dの内 で変数の宣言と初期化を行うのが適切である。半角大文字で解答しなさい。 変数の宣言と初期化: Dim C As Long Option Explicit 【 A 】 Sub Exam1() 【 B 】 C = 10 Call Exam2 End Sub Sub Exam2() 【 C 】 C = C + 5 Call Exam3() End Sub Sub Exam3 【 D 】 MsgBox “Cの値は“ & C End Sub 20. スタンダード 4章,Excel スタンダード 以下のコードはマクロが書かれているブック上のセルを値を取得し、ブックを一つずつ開き、 最後にアクティブ状態のブック名を表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 5 Workbooks.Open “C:\Data\” & .ActiveSheet.Cells(i, 1) & “.xlsx” Next i MsgBox ActiveWorkbook.Name End Sub 21. スタンダード 3章,Excel スタンダード 次コードは実行すると “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 i = i & N Next N MsgBox i End Sub 22. スタンダード 8章,Excel スタンダード 次のコードはテーブルをオートフィルターで絞り込み、テーブル内の列を複数コピーするマクロである。 実行後メッセージに表示された数値は である。 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 23. スタンダード 10章,Excel スタンダード 次のコードは、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 24. スタンダード 5章,Excel スタンダード 次のコードは、セル範囲内を合計するSUM関数をVBAで実行するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“C15”) = .Sum(Range(“C1:C14”)) End Sub 25. スタンダード 10章,Excel スタンダード 次の文章はデバッグ作業の内 、マク口のコードを1行ずつ止めながら実行する説明である。 空欄に入る適切な語句を解答しなさい。 ・VBE内のマク口のコードを1行ずつ止めながら実行するのが ① です。 ・①*上記空欄と同じの操作をコードの最初から行うには、実行したいプロシージャの中にカーソルを置き、② キーを押します。 ・実行すると、プロシージャのカーソル置いた箇所が黄色くハイライトされます。 これ以降、②*上記空欄と同じキーを押すたびに、 1行ずつマクロが実行されます。 26. スタンダード 10章,Excel スタンダード 次のコードは、変数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 27. スタンダード 2章,Excel スタンダード 次のコードは2列目から5列目まで、各列ごとの数値を合計し、その値を合計行に入力するマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim total As Long Dim i As Long, j As Long For j = 2 To 5 total = For i = 2 To 8 total = total + Cells Next i Cells(9, j) = total Next j End Sub 28. スタンダード 5章,Excel スタンダード 次のコードは、指定したセル範囲に入力されている数値を合計し、 その合計値を別のセルに入力するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“B20”) = . (Range(“B1:B19”)) End Sub 29. スタンダード 7章,Excel スタンダード 次のコードは、D列を基準にセルのデータで並べ替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet2”).Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“D2”), :=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 30. スタンダード 3章,Excel スタンダード 次のコードは、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 31. スタンダード 10章,Excel スタンダード VBAのイミディエイトウィンドウに関する説明として正しいものを、次の選択肢の中から1つ解答しなさい。 Option Explicitを設定していると、イミディエイトウィンドウ内で変数を使う場合も宣言が必要になる。 イミディエイトウィンドウで変数の値を表示するには、Print 変数名と入力する。 イミディエイトウィンドウで変数に値を代入するには、変数名 = 値の形式で入力する。 イミディエイトウィンドウでの実行内容は、プログラムのコードとしてそのまま保存される。 None 32. スタンダード 2章,Excel スタンダード 次のマクロはオブジェクト変数を使用したマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim wb As Dim N As Range Set wb = ThisWorkbook Set N = wb.Sheets(1).Range(“A1”) N.Resize(1, 2).Copy wb.Sheets(1).Range(“C1”) End Sub 33. スタンダード 1章,Excel スタンダード 以下のマクロを実行したところ、セルC1内に「150」と表示された。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“B1”) = 50 Exam2() End Sub Sub Exam2() Range(“C1”) = Range(“B1”) *3 End Sub 34. スタンダード 1章,Excel スタンダード 文字列が含まれるセルがあるかどうかを判定してメッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 なお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 35. スタンダード 4章,Excel スタンダード 次のコードは、ブックを続けて開き、その後ブック名をメッセージで表示するマクロである。 以下の空欄に入る適切な語句を選択肢の中から解答しなさい。 ・マクロ実行後、最後にアクティブ状態となるブックは %BLANK% である。 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 total.xlsx 2.xlsx 1.xlsx 3.xlsx None 36. スタンダード 4章,Excel スタンダード 次のコードは、Cドライブ下Documentsフォルダ内で、 ファイル名”total2023.xlsx”を”backup2023.xlsx”と名前を変えてファイルをコピーするマクロである。 以下の説明の空欄に入る適切な選択肢を解答しなさい。 Sub Exam1() FileCopy “C:\Documents\total2023.xlsx”, “C:\Documents\backup\backup2023.xlsx” End Sub ・コピー先のフォルダにすでに同じ名前のファイルがある場合、上書きするかの確認メッセージは表示【 ① 】 ・コピー先に存在しないフォルダを指定するとエラーメッセージは表示【 ② 】 【 ① 】されない。【 ② 】される。 【 ① 】される。【 ② 】されない。 【 ① 】されない。【 ② 】されない。 【 ① 】される。【 ② 】される。 None 37. スタンダード 6章,Excel スタンダード 以下のコードは、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 38. スタンダード 4章,Excel スタンダード 次のコードは、数値を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 39. スタンダード 6章,Excel スタンダード 次のコードは、セルA1を含む表に対して3列目が”100以上かつ、300以下”の条件で絞り込むマクロである。 空欄に入る語句を解答しなさい。 Sub Exam1() Range(“A1”). 3, “>=100”, , “<=300" End Sub 40. スタンダード 2章,Excel スタンダード 次のコードは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