【ランダム順出題】Excel VBA ベーシック 模擬試験 問題バンクから40問出題 Excel VBA ベーシック 模擬問題 模擬試験 2025.12.092026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。 そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整いましたら、ボタンを押して試験を開始してください。 1. __________,__________ 次のコードは、メッセージボックスに日付形式の「25/07/06」を表示するマクロである。 表示される値として正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “【 ① 】”) End Sub yyyy/mm/dd yy/m/d yy-mm-dd yy/mm/dd None 2. __________,__________ 以下の説明はVBAの関数について記述したものである。正しい選択肢を1つ解答しなさい。 VBAの関数は、Wordなどの他のアプリケーションでは使用できない。 ワークシート上で使用している関数は、VBAのコード内でも直接使用できる。 VBAの関数とワークシート上の関数は、どちらも同じ機能を持ちそのままで使える互換性がある。 VBAの関数は、引数と呼ばれる複数の値を受け取り、処理を行い結果を返すことができる。 None 3. __________,__________ 以下のコードは、条件に合った時にはセル範囲をコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() If Range(“A2”).Value =”January” Then Range(“A1”).CurrentRegion.Offset(1, 0).Resize(12).Copy Range(“F2”) End Sub 4. __________,__________ [マクロ]ダイアログボックスに関する次の記述のうち、誤っているものを選択肢の中から1つ選びなさい。 [マクロ名(M)] リストには、 [マクロの保存先(A)] で選択したブックのプロシージャ名が表示される。 [マクロ名] リストでマクロを選択し、右側の [削除] ボタンを押下すると、確認メッセージが表示され、選択したマクロがモジュールから削除される。 [マクロ名] リストには、引数を受け取るプロシージャは表示されない。 [マクロ名] テキストボックスには、既に作成済みのマクロ名と同じ名前ではないマクロ名を入力し、 [作成] ボタンを押下すると、入力した名前のプロシージャが作成される。 None 5. __________,__________ 変数Aへ値を格納する記述として、正しいものを1つ解答しなさい。 A Is ”A” A As 150 + 100 A eql 150 + 100 A = 150 + 100 None 6. __________,__________ VBEのコメント機能について説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 コメント機能にはルールがあり、コメントを日本語や記号では記述できないことや、コメントの文字色の変更はできない。 「‘」シングルクォーテーションを使用しても、同じ行にコードがある場合は コメントとして機能しない。 複数行をまとめてコメントするには、コメントしたい行を選択し編集ツールバーの「コメントブロック」ボタンをクリックする。 コメントを解除したい場合は「コメントブロック」ボタン(図の赤丸)右側の「非コメント挿入ボタン」を押す。 コメントを記述するときは、「‘」シングルコーテーションを入力し、以降右側に入力した文章は行の最後までコメントとして機能する。 None 7. __________,__________ VBAの用語の説明として、正しいものを選択肢から1つ選びなさい。 関数とは引数を受け取り、その関数に決められた処理で結果を返す仕組みのことである。 コレクションとは、階層構造で表す際のオブジェクトの集合体のことで、記述をする際は一般的にオブジェクトを複数形(s)で表す。 ステートメントとは、操作の対象であるオブジェクトに対して、マクロ全体の中で条件分岐、繰り返し処理などの何らかの動きのことで、 ユーザーの操作を記録するマクロの記録では、全てのステートメントを記録することができる。 プロパティとはオブジェクトの動作やアクションを伴う命令で、メソッドとはオブジェクトの様子や状態のことである。 None 8. __________,__________ 次のコードは、1年後の日付をメッセージで表示するマクロである。 空欄に入る適切な語句を選択肢の中から一つ解答しなさい。 なお実行日はうるう年ではないものとする。 Sub Exam1() Dim A As Integer, B As Integer, C As Integer A = Year(Now) + 1 B = 【 ① 】(Now) C = 【 ② 】(Now) MsgBox “1年後は” & A & “年” & B & “月” & C & “日です。” End Sub ①Day ②Format ①Month ②Day ①Month ②Date ①Day ②Month None 9. __________,__________ 次のコードはセルA1を含む連続したひとかたまりのセル範囲に、行が何行あるかを調べるマクロである。 選択肢の中から空欄に入る正しいものを1つ解答しなさい。 Sub Exam1() Dim N As Integer N = Range(“A1”).【 ① 】.Rows.Count MsgBox N End Sub Select Selection CurrentRegion ActiveCell None 10. __________,__________ 次のコードは単一セルのセルA3を、セル範囲をA3:B5に拡大し選択するコードである。空欄に入る語句として正しいものを1つ解答しなさい。 Range(”A3”).Resize【 ① 】.Select ’指定のセルを3行2列にサイズ変更する。 (2, 1) (3, -2) (3, 2) (2, 3) None 11. __________,__________ 次のコード実行をしたときIsDate関数の戻り値は【 ① 】であった。 空欄に入る語句として適切なものを選択肢の中から1つ選択しなさい。 Sub Exam1() Dim N As String N = Range(“A2”).Value If IsDate(N) = True Then MsgBox N & “は日付形式です。” Else MsgBox N & “は日付形式ではありません” End If End Sub 戻り値はなかった。 2025/10/30 False True None 12. __________,__________ 次のコードはシートから別のシートへセルをコピーするマクロである。なおアクティブシートはシートの一番左端にある「sheet1」である。 このマクロの説明として、正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() Sheets(“sheet1”).Range(“A2”).Copy _ Sheets(“sheet3”).Range(“A2”).Offset(1) End Sub マクロ実行後、セルのコピーが実行されシート名「sheet2」のセル番号B2へコピーされる。 マクロ実行後、アクティブシートはシート名「sheet3」になる。 マクロ実行後、アクティブシートに変更はない。 ブックやシートを指定してもアクティブシート以外のセルにコピーはできない。 None 13. __________,__________ 次のコードは、ブックにシートが複数枚ある時にシートを削除する目的で作成したマクロである。 実行した結果を選択肢から解答しなさい。 Sub Exam1() Sheets(“Sheet1”).Delete End Sub マクロは最後まで実行された。 マクロを実行しても何も起らなかった。 メッセージが出て強制終了となった。 実行後メッセージが出て、マクロが一時停止した。 None 14. __________,__________ 新しいブックにシートをコピーするマクロとして正しいものを、次の選択肢の中から1つ解答しなさい。 Sheets(“Sheet1”).Copy After Sheets(“Sheet1”).Move Sheets(“Sheet1”).Copy Sheets(“Sheet1”).Copy Before None 15. __________,__________ 次のコードを、実行したときにメッセージボックスに表示される値は「令和07/09/17」である。 コードの空欄に入るものとして適切なものを選択肢より解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “ggg【 ① 】/mm/dd”) End Sub e gg g ee None 16. __________,__________ セルのFormulaプロパティについての記述として、適切なものを選択肢から1つ解答しなさい。 セル内の数式を取得できる。 セルの値を取得できる。 セルに表示されている文字列を読み取る。 セル内の数式は取得できない。 None 17. __________,__________ すでに保存がされているアクテイブ状態のブックに対して、次のコードを実行した場合どうなるか。 説明として正しいものを、選択肢から1つ解答しなさい。 *なお保存先に同じ名前のブックはないものとする。 Sub Exam1() ActiveWorkbook.Sheets(1).Range(“A1”) = “VBA” ActiveWorkbook.Close SaveChanges:=True, Filename:=”C:\User\Total.xlsx” End Sub 変更を反映したブックを名前をつけて保存した。 実行するとエラーとなった。 変更は保存せずブックを閉じた。 ファイルの内容の変更を保存しますか?」というメッセージが表示される。 None 18. __________,__________ 次のコードでマクロ実行した時、結果がどうなるか選択肢の中から1つ解答しなさい。 Sub Exam1() Dim A As Long, B A = “20” B = “VBA” MsgBox A & B End Sub 「B = “VBA」の行でエラーになる。 「MsgBox A & B」の行でエラーになる。 メッセージボックスに「20VBA」と表示される。 「A = “20”」の行でエラーになる。 None 19. __________,__________ 次のコードはセル内のアルファベットを大文字にし、指定のセルに代入するマクロである。 空欄に入る適切な語句を選択肢から解答しなさい。 Sub Exam1() Range(“B2”).Value = 【 ① 】(Range(“A2”).Value) End Sub UCase LCase LowerCase UpperCase None 20. __________,__________ 以下のマクロの変数Aに0~100までの整数を格納したい。 空欄に入る適当なものを一つ選択肢から解答しなさい。 Sub Exam1() Dim A As 【 ① 】 A = 100 MsgBox A End Sub Date Boolean Byte String None 21. __________,__________ 次のコードを実行したとき、メッセージに表示される値を選択肢から解答しなさい。 Sub Exam1() Dim i As Long, N As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row Step 2 If Cells(i, 1) = 1 Then N = N + Cells(i, 1).Value End If Next i MsgBox N End Sub 4 3 2 1 None 22. __________,__________ VBEからマクロを実行する時の説明として間違っているものを、次の選択肢の中から2つ解答しなさい。 VBEからマクロを実行するときに、カーソルの位置がプロシージャの外にあるとマクロダイアログボックスの画面が開く。VBEからマクロを実行するときに、カーソルの位置がプロシージャの外にあるとマクロダイアログボックスの画面が開く。 VBEからマクロを実行するには、メニューの「ツール」から 「▷ [Sub/ユーザーフォームの実行] 」あるいは、ツールバーの「▷」を押して実行する。 VBEからマクロを実行するには、 [F8] キー押すと実行できる。 VBEから指定のプロシージャのマクロを実行するときには、 カーソルの位置を実行したいプロシージャのSubマクロ()名からEnd Subまでの間の 内部にカーソルを置き実行する。 23. __________,__________ 論理演算子の説明として誤っているものを、選択肢の中から一つ解答しなさい。 「Or」は~または(あるいは)~の意味で使用される論理演算子である。 「Not」は~ではないといった論理否定の意味で使用される論理演算子である。 「And」は~かつ~の意味で使用される論理演算子である。 「 = 」は~と~は等しいといった意味で使用される論理演算子である。 None 24. __________,__________ セルに表示された文字列を読み取る記述として、正しいものを選択肢から1つ解答しなさい。 Cells(3, 3).Value Cells(2, 2).Value = 200 Range(“C3”).Text = “Hello” Range(“B2”).Text None 25. __________,__________ 次のコードは、メッセージボックスに「R7.10.23」と表示するマクロである。 空欄に入る値として正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “【 ① 】.m.d”) End Sub ge e g gg None 26. __________,__________ 次のVBA全般の説明のうち、間違っているものを1つ解答しなさい。 [Microsoft Office Excel のセキュリティに関する通知] ダイアログボックスで [マクロを有効にする] ボタンを押すと、そのブックを信頼したことになり、その後ダイアログボックスや [コンテンツの有効化] ボタンは表示されない。 マクロは、ファイルの削除やインターネットへの接続など、意図しない操作を実行する可能性があるため、取り扱いには十分注意が必要である。 VBEはマクロの作成に加えて、デバッグモードでコードのエラーや問題も発見できる。 セキュリティセンターを表示させる方法は、Excelのバージョンによって異なる。 None 27. __________,__________ 次のマクロを実行後メッセージに表示する値として正しいものを、選択肢の中から1つ解答しなさい。 なおセルA1には文字列の両端には「スペース」が1つずつあるものとする。 Sub Exam1() Dim A As String A =RTrim (Range(“A2”)) MsgBox Len (A) End Sub 8 6 0 7 None 28. __________,__________ 以下のブックの挿入についての説明で間違っているものを、選択肢の中から1つ解答しなさい。 ブックを挿入しても、アクティブブックに変更はない。 ブックを挿入するときのコレクションは、WorkBooksコレクションを使用する。 ブックを挿入すると、挿入されたブックがアクティブブックとなる。 ブックを挿入するときにはAddメソッドを使用する。 None 29. __________,__________ 以下のマクロはB列が500より小さい場合、A列からC列までをE列に順にコピーするマクロである。 空欄を埋める適切なものを選択肢から1つ解答しなさい。 Sub Exam1() Dim i As Long, A As Long For i = 2 To 11 If Cells(i, 2) < 500 Then A = A+ 1 Range(Cells(i, 1), Cells(i, 3)).Copy 【 ① 】 End If Next i End Sub Cells(A, 5) Range(“A5”) Cells(5, A) Range(A, i) None 30. __________,__________ 以下のマクロを実行したときに、最後にアクティブ状態のセルはどれか。選択肢より1つ解答しなさい。 Sub Exam1() Range(“A2”).Activate Range(“D2:E3”).Select Selection.Offset(2, 3).Select End Sub セルF5 セルG4 セルG5 セルF4 None 31. __________,__________ コレクションについて説明した以下の選択肢のうち、誤っているものを1つ解答しなさい。 コレクションは、メンバーにアクセスするためにインデックス番号を使用し指定をすることができる。 コレクションは、メンバーが1つしかない場合でも使用することができる。 コレクションは、必ず複数のメンバーを持っていなければならない。 コレクションは、WorkbooksやSheetsのように、オブジェクト名の原則複数形で表す。 None 32. __________,__________ 次のコードは、メッセージボックスに値を表示するマクロである。 表示される値として正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “0#,###.##0”) End Sub 1,397.65 01,397.650 1397.65 1,397.650 None 33. __________,__________ オブジェクト式に基本の型は以下のついて説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 オブジェクト式の、基本の型は以下の2つである。・オブジェクト(対象).プロパティ(様子) = 値・オブジェクト(対象).メソッド(命令) = 値 オブジェクト式の、基本の型は以下の2つである。・プロパティ(様子).オブジェクト(対象)) = 値・オブジェクト(対象).メソッド(命令).オプションまたは引数:= 値 オブジェクト式の、基本の型は以下の2つである。・オブジェクト(対象).プロパティ(様子) = 値・オブジェクト(対象). メソッド(命令).オプションまたは引数:=値 オブジェクト式の、基本の型は以下の2つである。・オブジェクト(対象).プロパティ(様子).オプションまたは引数=値・オブジェクト(対象).プロパティ(様子): = 値 None 34. __________,__________ 以下のコードは表のデータ部分のみを別のシートにコピーするマクロである。 適切な選択肢を2つ解答しなさい。 Sub Exam1() Range(“A1”).CurrentRegion.Select Selection.Resize(Selection.Rows.Count).Select Selection.Offset(1, 0).Copy Range(”E2”)End Sub Sub Exam1() Range(“A1”).CurrentRegion.Select Selection.Resize(Selection.Columns.Count – 1).Select Selection.Offset(1, 0).Copy Range(”E2”)End Sub Sub Exam1() Range(“A1”).CurrentRegion.Select Selection.Resize(Selection.Rows.Count – 1).Select Selection.Offset(1, 0).Copy Range(”E2”)End Sub Sub Exam1() Range(“A1”).CurrentRegion.Select Selection.Resize(Selection.Rows.Count – 1).Select Selection.Offset(1).Copy Range(”E2”)End Sub 35. __________,__________ 次のマクロの中でエラーとなるものを選択肢から1つ解答しなさい。 Sub Exam1() Dim 番_号 As Long 番_号 = 200 MsgBox “代入された値は ” & 番_号End Sub Sub Exam1() Dim 整数 As Long 整数 = 300 MsgBox “代入された値は ” & 整数End Sub Sub Exam1() Dim If As Integer If = 200 MsgBox “代入された値は ” & IfEnd Sub Sub Exam1() Dim num1 As Integer num1 = 300 MsgBox “代入された値は ” & num1End Sub None 36. __________,__________ 次のマクロを実行したとき、メッセージボックスに表示される変数の値について、 正しいものを選択肢の中から1つ答えなさい。 Sub Exam1() Dim i As Long, A As Long For i = 2 To 11 If Cells(i, 1) = “Green” Then A = Cells(i, 1).Offset(2, 1) End If Next i MsgBox A End Sub 400 Gray Orage 700 None 37. __________,__________ 次のコードは、マクロ実行前に表の列の最終行数がいくつかわからないときや、 列の最終行が変更となった時でも一番上から下へ進み最終行を見つけ、変わらず処理を実行するマクロである。 空欄に入る適切な語句を選択肢の中から1つ解答しなさい。 Sub Exam1() Dim i As Long, LastRow As Long LastRow = Range(“A1”).【 ① 】 For i =2 To LastRow Cells(i , 2) = Cells(i, 1)*200 Next i End Sub End(xlDown) End(xlDown).Rows End(xlDown).Row (xlDown).Row None 38. __________,__________ 次のコードは、B列の数値が3より大きいときは、B列の同じ行の、A列のセルの値をF列へ、B列のセルの値をG列へ代入するマクロである。 次の選択肢の中から空欄に入るものとして適切なものを1つ答えなさい。 Sub Exam1() Dim i As Long, LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To LastRow If Cells(i, 2) > 3 Then With Cells(Rows.Count, 6).End(xlUp) .Offset(1) = Cells(i, 1) 【 ① 】= Cells(i, 2) End With End If Next i End Sub .Offset(1, 0) Offset(1, 1) .Offset(1, 1) .Offset(0, 1) None 39. __________,__________ 次のコードは実行したとき、メッセージボックスに値を表示するマクロである。 表示される値として正しいものを選択肢の中から1つ答えなさい。 Sub Exam1() Dim i As Long, N As String For i = 2 To 11 If Cells(i, 3 )> 600 Or Cells(i, 4) < 100 Then If Cells (i, 2) = “warm” Then N = N + Cells(i, 1) End If End If Next i MsgBox N End Sub RedYellow なし BrownOrange BrownOrangeRedYellow None 40. __________,__________ 次のVBAの行と列の指定の説明のうち、正しいものを2つ解答しなさい。 行全体を指定するには、Range(“B4”).Rowsと記述する。 列指定はColumnsコレクションで行い、Columns(4)やColumns(“D:F”)と記述する。 任意のセルで列を指定するには、EntireRowプロパティを使う。 行指定はRowsコレクションで行い、Rows(4)やRows(“4:6”)と記述する。