Excel VBA スタンダード 模擬問題 模擬試験 【ランダム順出題】Excel VBA スタンダード 模擬問題 ハト 2025年7月25日 【ランダム順出題】Excel VBA スタンダード 模擬問題 1. 次のコードは、配列の要素数3つで配列を宣言しメッセージボックスで”東京_神奈川_大阪”と表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A(2) As String A = “東京” A(1) = “神奈川” A(2) = “大阪” MsgBox A (0) & ” _ ” & A(1) & “_” & A End Sub 2. 以下のコードは表をC列を基準に昇順並べ替えるマクロである。空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet1”). Sort .SortFields. Clear .SortFields. := Range(“C2”), :=xlAscending .SetRange Range(“A1:D11”) .Header = xlYes .Apply End With End Sub 3. 次のコードは、実行するとメッセージボックスに”神奈川”と表示された。 またコードの途中で要素数を増やしている動的配列のマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A() As String redim A(1) A(0) = “東京” A(1) = “神奈川” A(2) A(2) = “愛知” MsgBox A(1) End Sub 4. 次のコードは、セルを検索し見つかったセルを起点に1列右に”関東”を代入するマクロである。空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”). Find (What:=”東京”) If A Is Nothing Then MsgBox “見つかりません“ Else A. (0, 1) = “関東” End If End Sub 5. 次のコードは、表に3つの条件で配列でフィルターをかけるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A(2) As String A(0)= “吉田” A(1)= “渡辺” A(2)= “松木” Range(“A1”).AutoFilter 1, A, End Sub 6. 次のコードは表のC列を基準とし、1行目をタイトル行であると設定し並べ替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With ActiveSheet.Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“C2”), Order:=xlDescending .SetRange Range(“A1:C9”) .Header = .Apply End With End Sub 7. 以下はデバッグでデータの形式を判定するマクロと実行結果である。空欄に入る適切な語句を解答しなさい。 Sub Exam1 () Dim A As Variant A = “VBA” MsgBox (A) End Sub 8. 次のコードは、表のセル範囲をB列を基準に昇順、大文字小文字は区別せず並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Sheets(“Sheet1”). Sort .SortFields.Clear .SortFields.Add2 Key:=Range(“B2”), Order:=xlAscending . Range(“A1:C11”) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom . End WithEnd Sub → 9. 次のコードは、表をA列を基準に降順かつ、列の中の数値と文字列を別々に並び替えるマクロである。 空欄に入る適切な語句を解答しなさい。 Exam1() With sheets(“Sheet1”). Sort .SortFields.Clear .SortFields. Add2 _ Key= Range(“A2”), _ SortOn:=xlSortOnValues, _ Order:= , _ DataOption:= .SetRnage(”A2:D11”) .Header= xlNo .Apply End With EndSub 10. 次のコードはオートフィルターをかけた後、行を構造化参照を使ってテーブルのデータ部分を特定し、特定したデータを含むデータ行全体を削除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range (“テーブル1”) .AutoFilter 2, “800” Range(“テーブル1 “). EntireRow. Range(“テーブル1”).AutoFilter 2 End Sub 11. 以下はマクロで発生するエラーついての説明である。空欄に入る適切な語句を解答しなさい。 マクロのエラーは大きく分けて2種類に分類できる。 ・ エラー このエラーは文法エラーとも呼ばれる。 VBAの構文の書式や書き方であやまると発生するエラーです。 ・ エラー このエラーは文法の誤りはないが、 論理的な矛盾によって発生するエラーです。 12. 次のコードは、条件式に合う場合はFor…Nextステートメントによる繰り返し処理を終了し、 Nextの次の行から処理を続けるマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long For i = 1 To 10 If Cells(i, 1) = “” Then Exit End If Next i MsgBox “処理は終了しました” End Sub 13. 次のコードはセル範囲内を合計するSUM関数を、VBAにおいて実行するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”A11”) = .Sum(Range(”A1:A10”)) End Sub 14. 次のコードは、1列目が”東京”であるデータを、タイトル行もふくめ全てSheet2のセルA1へコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range(“A1”). .Range .AutoFilter 1, “東京” .Copy Sheets(“Sheet2”).Range(“A1”) .AutoFilter 1 End With End Sub 15. 次のコードは、オートフィルターをかけた後、テーブルのデータ行全体を削除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() With Range(“A1”).ListObject.DataBodyRange .AutoFilter 2, ”800” . .Delete End With Range(“A1”).AutoFilter End Sub 16. 次のコードは表1列目を”東京”かつ”大阪”でフィルターをかけるのマクロである。 空欄に入る適切な語句を解答しなさい。 Exam1() Range(”A1”). 1, ”東京”, , ”大阪” EndSu 17. 次のコードは、セル範囲A1:A11で”東京”を「部分一致」で検索し、見つかったセルの右隣にセルの値を入力するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A2:A11″).Find(What:=”東京”, Lookat:= ) A.Offset(0, 1) = 750 End Sub 18. 以下のコードはテーブル内のセルからテーブルの全体を特定しコピーするマクロである。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(”A1”). ..Copy Sheets(“Sheet2”).Range(“A1”) End Sub 19. 次のコードは、セル範囲A1:A5に入力された数値のうち大きい順に3番目をセルC1に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“C1”) = WorksheetFunction. (Range(“A1:A5”),3) End Sub 20. 以下のコードはセルを検索し見つかった場合コピーするマクロである。空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range Set N = Cells. ( :=”東京”, LookAt:=xlWhole) If Not N Is Nothing Then N.Copy Range(”C2”) End If End Sub 21. 次のコードは、A列全体から”東京”を検索し、見つかったセルのひとつ右のセルに”関東”を代入マクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range (““) .Find(What:=”東京”) A. Offset (0, 1) = “関東” End Sub 22. マクロ「Exam1」を実行したところ セルB1内に「150」と表示された。 以下の空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“A1”) = 100 Exam2 End Sub Sub Exam2() Range(“B1”) = Range(“A1”) * 1.5 End Sub 23. 以下はマクロの論理エラーを発生するタイミングで2つエラーに分けて各々の説明である。 空欄に入る適切な語句を解答しなさい。 ・論理エラー ∟ エラー・・・ マクロを実行時、VBEはコード全体を 「Excel が理解できる形式」に変換します。 この時点で論理的な誤りが発見されると、 実行される前にエラーが発生します。 ∟ エラー・・・ 論理的な誤りがあるものの、その部分が実行されなければ確認できないようなエラーです。 それぞれエラーが発生するタイミングがエラーの名前となっています。 24. 次のコードは、表でセルの検索で見つかったセルからC列までをセルE2へコピーするマクロである。 空欄に入る適切な用語を解答しなさい。 Sub Exam1() Dim A As Range Set A = Range(“A:A”). Find (What:=”東京”) If A Is Nothing Then MsgBox “見つかりませんでした” Else Range(A, A.End()).Copy Range(“E2”) End If End Sub 25. 次のコードは、表をA列を基準に昇順でデータで並べ替えるマクロである。空欄に入る適切な語句を解答しなさい。 Sub Exam1() With sheets(“Sheet1”). .sortfields.Clear . . Add2 Key:=Range(“A2”), _ SortOn:=xlSortOnValues, _ Order:=xlAscending, _ DataOption:=xlSortNormal .SetRange Range(”A1:D11”) .Header = xlYes .Apply End With End Sub 26. 次のコードは、エクセル2003年までの並べ替えのコードです。 セルA1を含む表全体をD列に入力されている数値の昇順に並べ替える場合空欄に入る適切な語句を答えなさい。 Sub Exam1() Range(“A1”).Sort := Range(“D1”), :=xlAscending, :=xlYes End Sub 27. 次のコードは、 セル範囲A1:A10に入力されているデータから”-“を除去した結果をB列に代入するマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Dim i As Long For i = 1 To 10 Cells(i, 2) = (Cells(i, 1), “-“, “”) Next i End Sub 28. 次のコードはセル範囲B2:B10の中でセルD1に入力された文字列の上からの位置を探し、 A列の数値をD3に入力するコードである。空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Long With WorksheetFunction N = . (Range(“D1”), Range (“B2:B10”), 0) Range (“D3”) = . (Range (“A2:A10”), N) End With End Sub 29. 以下のコードは、セル範囲からからメンバーを順番に取り出しメンバーをひとつづつ格納するマクロである。空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim N As Range For N Range(“A1:A5”) N = 100 Next MsgBox(“処理は終了しました。”) End Sub 30. 次のコードでは、指定された範囲内のりんごの数をカウントします。 このコードを実行するとりんごの数がメッセージボックスに表示されます。空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long A = WorksheetFunction. (Range(“A1:A10“), “りんご“) If A = 0 Then MsgBox “りんごはありません“ Else MsgBox “りんごの数: “ & A End If End Sub 31. 以下のコードはセルの値を取得し、マクロが書かれているブックから複数のファイルを一つずつ開くマクロである。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Dim i As Long For i = 2 To 6 Workbooks. Open _ “C:¥Local¥” & . Sheets(1).Cells(i, 1) & “.xlsx” Next i End Sub 32. 次のコードは、セルに入力されている数値を合計するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“A11”) = WorksheetFunction. (Range(“A1:A10”)) End Sub 33. 次のコードはエラーが発生した際に、エラー番号からメッセージを表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error Goto Error1 Sheets(“Sheet3”). Name = Range(“C1”) Exit Sub Error1: Select Case . Case9 MsgBox ”対象のブック内にSheet3はありません” Case Else MsgBox ”想定外の何らかのエラーが発生しました” End Select End Sub 34. 下のコード「Exam1」と「Exam2」は同じ結果になるマクロである。 このとき、空欄に入る適切な語句を解答しなさい、 Sub Exam1() Dim i As Long, A As Long i = 1 Do While Cells(i, 1) “” A = A + Cells(i, 1) i = i + 1 Loop MsgBox A End Sub ーーーーーーーーーーーーーーーーー Sub Exam2() Dim i As Long, A As Long i = 1 Do Cells(i, 1) = “” A = A + Cells(i, 1) i = i + 1 Loop MsgBox A End Sub 35. 次のコードはテーブル特定し全体をコピーするマクロである、空欄に入る適切な語句を解答しなさい。なおテーブル名は図の右上の通りである。 Sub Exam1() With Range(“ ”).Range .Copy Sheets(“Sheet2”).Range(“A1”) End With End Sub 36. 次のコードはエラーが発生した際に、エラー内容をイミディエイトウィンドウに表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() On Error Goto Error1 Sheets(“Sheet3”). Name = Range(“C1”) Exit Sub Error1: Debug.Print “エラー内容” & . End Sub 37. 以下のコードは セルに10を代入するが、もしセルA1 が空欄ではなかったときは、マクロを一時停止します。 空欄に入る適切な語句を答えなさい。 Sub Exam1() Dim N As Long N = 10 If Range(“A1”) “” Then Range(“A1”) = N End Sub 38. 次のコードは、ブックにNOW関数を利用し今日の日付で「20230622.xlsm」のような形式の名前でファイルを保存するマクロである。 空欄に入る適切な語句を入力しなさい。 Sub Exam1() ThisWorkbook.SaveAs “C:\Local\” & (Now, ““) & “.xlsm” End Sub 39. 次のコードは、Rangeと構造化参照を使い、見出し行ごとコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“テーブル1 “).Copy Sheets(“Sheet2”).Range(“A1”) End Sub 40. 次のコードは、引数を使わないで変数Aを共有するマクロである。 以下のA~Cの中で で変数を宣言するのが適切である。 変数の宣言: Dim A As Long 【 A 】 Sub Exam1 () 【 B 】 A = 20 Call Exam2 End Sub Sub Exam2() 【 C 】 MsgBox A End Sub Time’s up Time is Up!