【ランダム順出題】Excel VBA ベーシック 模擬試験 問題バンクから40問出題 Excel VBA ベーシック 模擬問題 模擬試験 2025.12.092026.06.24 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。 そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整いましたら、ボタンを押して試験を開始してください。 1. __________,__________ シート上で選択されている複数セルに「VBA」と代入するマクロとして、 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() 【 ① 】.Value = “VBA” End Sub Selection ActivateCell ActiveCell Select None 2. __________,__________ Cells(3, 5) の説明として正しいものを以下の選択肢から1つ選びなさい。 5行目のE列のセルを指す。 5行目のC列のセルを指す。 3行目のE列のセルを指す。 E行目の3列目のセルを指す。 None 3. __________,__________ VBAでセルを指定する際に使用する用語として、適切ではないものを選択肢から1つ解答しなさい。 Cells ActiveCell Range Cell None 4. __________,__________ ブックを開くコードとして間違っているものを空欄に入る選択肢から2つ解答しなさい。Sub Exam1()【 ① 】End Sub Workbooks.Open (FileName:= “C:\Users\Total.xlsx”) Workbooks.Open “C:\Users\Total.xlsx” Workbooks.Open FileName:= “C:\Users\Total.xlsx” Workbooks.Open FileName(:= “C:\Users\Total.xlsx”) 5. __________,__________ 次のコードは表をセルC2から下に進み、値がある最後のセルを削除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“C2”). (xlDown).Delete End Sub 6. __________,__________ Boolean型の変数に格納できる値はどれか、次の選択肢の中から一つ選びなさい。 文字列 False 数値 オブジェクト None 7. __________,__________ 次のコードは表の最終行全体を削除するマクロである。 空欄に入る適切な選択肢を1つ解答しなさい。 Sub Exam1() Cells(Rows.Count, 1).End(xlUp).【 ① 】. Delete End Sub EntireColumn EntireRows EntireColumns EntireRow None 8. __________,__________ マクロの説明ついて、誤っているのものを選択肢から1つ解答しなさい。 ブックにあるマクロごと削除したい場合は、マクロを含むブックを削除すればよい。 ブックからあるマクロを削除したい場合は、VBEからマクロが記述されたモジュールを削除すればよい。 マクロを含むブックを保存する場合、ファイルの種類を「Excel マクロ有効ブック(*.xlsm)」で保存する必要がある。 マクロを保存するには、マクロを含むブックを保存する必要がある。 マクロは、ブックとは別の場所に保存することができる。 None 9. __________,__________ 次のコードはA列の各セルに入力されている半角文字列を、すべて全角文字列に変換しB列のセル内に代入するマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2) = StrConv(Cells(i, 1),【 ① 】) Next i End Sub vbUpperCase vbWide vbNarrow vbLowerCase None 10. __________,__________ 次のコードは、A列に入力されている文字列の中に、スペースが含まれているかどうかを調べ、 含まれていたときにはB列の文字列のスペースより後ろの文字列全てをB列に、 それ以外のときは値の文字列をそのままB列に代入するマクロである。 空欄に入る適切な語句を次の選択肢の中から1つ解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 If InStr(Cells(i, 1), ” “) > 0 Then Cells(i, 2) = Mid(Cells(i, 1), InStr(Cells(i, 1), ” “) 【 ① 】) Else Cells(i, 2) = Cells(i, 1) End If Next i End Sub +1 -2 +0 -1 None 11. __________,__________ 以下の選択肢の中で実行途中に「変更内容を保存しますか?」 というメッセージが出るマクロはどれか。空欄に入る適切なものを選択肢から1つ解答しなさい。 Sub Exam1() Workbooks.Add ActiveWorkBook.Close SaveChanges:= FalseEnd Sub Sub Exam1() Workbooks.Add ActiveWorkBook.Close SaveChanges:= True End Sub Sub Exam1() WorkBooks.Add ActiveWorkBook.CloseEnd Sub Sub Exam1() Workbooks.Add ActiveWorkbook.Sheets(1).Range(“A1”) = “VBA” ActiveWorkbook.CloseEnd Sub None 12. __________,__________ マクロのセキュリティレベルやセキュリティの表示、通知について説明した以下の選択肢のうち、正しいものを2つ解答しなさい。 マクロ実行許可のセキュリティレベルの設定や確認は、Excelのオプションの「セキュリティセンター」から「マクロの設定」で行う。 セキュリティレベルが「警告を表示してすべてのマクロを無効にする」となっている場合、 マクロを有効にするには、マクロを含むブックを開き警告が表示されたら「コンテンツの有効化ボタン」をクリックする。 セキュリティレベルの設定は標準では「デジタル署名をされたマクロを除きすべてのマクロを無効にする」になっている。 VBEを起動した状態でマクロを含むブックを開いたとき「Microsoft Office Excelのセキュリティに関する通知」が表示される。 その後「マクロを無効にする」ボタンをクリックするとブックが信頼され以後警告メッセージは表示されない。 13. __________,__________ [マクロ]ダイアログボックスに関する次の記述のうち、誤っているものを選択肢の中から1つ選びなさい。 [マクロ名] リストには、引数を受け取るプロシージャは表示されない。 [マクロ名] リストでマクロを選択し、右側の [削除] ボタンを押下すると、確認メッセージが表示され、選択したマクロがモジュールから削除される。 [マクロ名(M)] リストには、 [マクロの保存先(A)] で選択したブックのプロシージャ名が表示される。 [マクロ名] テキストボックスには、既に作成済みのマクロ名と同じ名前ではないマクロ名を入力し、 [作成] ボタンを押下すると、入力した名前のプロシージャが作成される。 None 14. __________,__________ モジュールとマクロの関係に関する説明として、適切なものを一つ解答しなさい。 標準モジュールには、最大で50個のマクロを作成できる。 1つのモジュールに作成できるマクロの数は1つのみである。 1つのブックに作成できるモジュールの数は1つまでである。 1つのブックに作成できるモジュールは複数個可能である。 None 15. __________,__________ 次のコードはブックへ変更した内容が保存されているかを判断し、メッセージを表示するマクロである。 未保存の場合は3行目の処理を、それ以外の場合は6行目の処理を行います。 空欄に入る適切な語句を、選択肢より1つ解答しなさい。 Sub Exam1() If ThisWorkbook.Saved= 【 ① 】 Then MsgBox “変更が未保存です。保存します。” ThisWorkbook.Save Else MsgBox “変更はありません。保存は不要です。” End If End Sub Protect False SaveChanges True None 16. __________,__________ クイックアクセスツールバー(QAT)ボタンについて説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 QATにマクロを登録後、QATに表示されるボタンの種類変更は可能である。 マクロが記述されているブックの時だけ、マクロが記述されたQATボタンを表示することができる。 登録したマクロが記述されていないブックの時に、マクロを登録したボタンは非表示にできない。 QATにマクロを登録すると常にボタンが表示されるが、登録したマクロが記述されていないブックの時ボタンを押してもマクロの実行はできない。 None 17. __________,__________ 次のマクロの内、メッセージボックスの左から2番目のボタンを押したときの戻り値が、「vbNo」となるコード2つを選択肢より解答しなさい。 Sub Exam1() Dim N As Long N = MsgBox “完了”, vbYesNoEnd Sub Sub Exam1() Dim N As Long N = MsgBox (“完了”, vbYesNo)End Sub Sub Exam1() Dim N As Long N = MsgBox (“完了”, vbRetryNoCancel)End Sub Sub Exam1() Dim N As Long N = MsgBox (“完了”, vbYesNoCancel)End Sub 18. __________,__________ VBEについて説明した以下の選択肢のうち、正しいものを1つ答えなさい。 VBEの起動後、VBEとExcelの画面に相互に切り替えたい場合は、「ALT」+「F8」を押して切り替える。 VBEのコードウィンドウは、主にUserFormを作成するときに使用する。 VBEの起動はショートカットキーの「ALT」+「F11」を押すか、 開発タブにある「Visual Basic」アイコンをクリックすると実行される。 VBEの終了はVBEのウィンドウを閉じるか、Excelの終了と同時に行われる。 VBEのプロジェクトエクスプローラは、マクロを記述する場所である。 None 19. __________,__________ 次のマクロを実行したとき、メッセージボックス内に表示されるアイコン を選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Long N = MsgBox (“要確認”, vbOKCancel+vbCritical, “フェーズ1”) End Sub None 20. __________,__________ 標準モジュールの名前と名前の設定に関する説明として、適切なものを一つ解答しなさい。 標準モジュールの名前は、プロパティウィンドウの [オブジェクト名] から変更できる。 標準モジュールの名前には、日本語を使用することはできない。 標準モジュールの名前は、Excelが自動的に設定するため、変更することはできない。 標準モジュールの名前には、使用できない文字はない。 None 21. __________,__________ 次のコードはタイトルを省略した文字入力可能なダイアログボックスを表示し、 ボックス内に初期値「VBA」を文字列として表示し、入力した値をメッセージで表示するマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Dim N As String N = InputBox(“何か文字を入力してください。”, 【 ① 】【 ② 】) If N =”” Then MsgBox “キャンセルボタンあるいは空欄が入力されました。” Else MsgBox “入力値は” & N & ”です。” End If End Sub ①, ②VBA ①VBA ②, ①, ②”VBA” ①”VBA” ②, None 22. __________,__________ ClearContentsメソッドに関する説明として、適切でないものを選択肢の中から一つ解答しなさい。 セルに入力されている値や数式はそのままで、セルに設定した書式だけをクリアするには、ClearFormatsメソッドを実行する。 ClearContentsメソッドを実行しても、セルの表示形式、背景色、文字色、罫線などの書式はクリアされずに保持される。 ClearContentsメソッドは、セルに入力されている値や数式を消去する。 ClearContentsメソッドを実行すると、セルに入力されている値だけでなく、セルの書式もクリアされる。 None 23. __________,__________ 次のコードはメッセージ内の「Excel」と「BASIC」の間で改行し表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() MsgBox “Excel” & & “BASIC” End Sub 24. __________,__________ 変数の有効期間と値の保持に関する説明として、正しいものを1つ選択しなさい。 変数はEndなどでプロシージャを終了させなくとも、自動で変数の値がクリアになる。 変数の有効期間は、ローカル変数と、モジュールレベル変数やパブリック変数では異なる場合がある。 適用範囲が違う変数でも値の有効期間は、すべて同じである。 変数の値は、変数の有効期間が終了した時必ずクリアになる。 None 25. __________,__________ 次のコードはパブリック定数Aとローカル定数Bに数値を定め、メッセージを表示するマクロである。空欄に入る適切な語句を解答しなさい。 Option Explicit Public A As Integer = 100 Sub Exam1() 「上記空欄と同じ」B As Integer = 300 MsgBox A+B End Sub 26. __________,__________ 次のコードは、メッセージボックスに「R7.10.23」と表示するマクロである。 空欄に入る値として正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “【 ① 】.m.d”) End Sub gg g e ge None 27. __________,__________ クイックアクセスツールバー(QAT)の登録やボタンついて説明した以下の選択肢のうち、間違っているものを1つ解答しなさい。 QAT領域に表示する、マクロを登録したアイコンの種類は後から変更できる。 QATにマクロを登録後、登録したマクロのボタンが常に表示されるが設定で、マクロが記述されているブックを開いているときだけボタンを表示することもできる。 [Excelのオプション]ダイアログボックスを開くには、QATの右側にある▽クイックアクセスツールバーのユーザー設定ボタンをクリック後、「その他のコマンド」を押して開く。 クイックアクセスツールバーに登録するには、[Excelのオプション]ダイアログボックスを開き右側のクイックアクセスツールバーから設定する。 None 28. __________,__________ 次のコードは、ブックにシートが複数枚ある時にシートを削除する目的で作成したマクロである。 実行した結果を選択肢から解答しなさい。 Sub Exam1() Sheets(“Sheet1”).Delete End Sub マクロを実行しても何も起らなかった。 メッセージが出て強制終了となった。 実行後メッセージが出て、マクロが一時停止した。 マクロは最後まで実行された。 None 29. __________,__________ 次のコードは実行したとき、メッセージボックスを表示するマクロである。 実行結果は【 ① 】がメッセージで表示された。 空欄に入る適切なものを選択肢の中から1つで解答しなさい。 Sub Exam1() Dim N As String N =”Middle East” MsgBox Mid(N, 3, 4) End Sub e Ea ddle dle le E None 30. __________,__________ VBEからマクロを実行する時の説明として間違っているものを、次の選択肢の中から2つ解答しなさい。 VBEからマクロを実行するときに、カーソルの位置がプロシージャの外にあるとマクロダイアログボックスの画面が開く。VBEからマクロを実行するときに、カーソルの位置がプロシージャの外にあるとマクロダイアログボックスの画面が開く。 VBEからマクロを実行するには、メニューの「ツール」から 「▷ [Sub/ユーザーフォームの実行] 」あるいは、ツールバーの「▷」を押して実行する。 VBEから指定のプロシージャのマクロを実行するときには、 カーソルの位置を実行したいプロシージャのSubマクロ()名からEnd Subまでの間の 内部にカーソルを置き実行する。 VBEからマクロを実行するには、 [F8] キー押すと実行できる。 31. __________,__________ 関数の引数について説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 関数の処理で使うデータは引数とよばれ、一部を除き関数の後ろに「( )」括弧で囲み数値や文字列、日付などを指定する。 関数の引数は、必ず1つのみ指定し、引数が複数ある場合や引数を受け取らない関数はない。 VBAでの関数は、Excelのワークシート上で扱う関数と違い引数は受け取らない。 関数の複数の引数の指定は、複数の場合は「( )」括弧内で「,」カンマでくぎる。また引数を受け取らない場合でも「( )」括弧は省略することができない。 None 32. __________,__________ 以下の選択肢は変数の自動変換について説明したものである。適切な説明を選択肢から1つ解答しなさい。 数値は文字列型の変数に格納できない。 文字列型の変数に数値を格納すると、実行時エラーが発生する。 VBAが変数に格納する際に、自動的に数値を文字列に変換することはない。 文字列型の変数に数値を代入すると、VBAが自動的に文字列に変換して変数に格納する。 None 33. __________,__________ 次のコードは、シート名「sheet2」のセル内に文字列を代入するマクロである。 空欄に入る適切な語句を選択肢の中から1つ解答しなさい。 Sub Exam1() Sheets(【 ① 】).Range(“A1”).Value = “ABC” End Sub 1 “Sheet2” 2 Sheet2 None 34. __________,__________ 次のマクロを実行したとき、メッセージボックスに表示されるボタンはどれになるか。 正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() Dim N As Long N = MsgBox ( “完了”, vbAbortRetryIgnore) End Sub 「完了」、「中止」、「再試行」、「無視」ボタンが表示される。 「中止」、「再試行」、「キャンセル」ボタンが表示される。 「完了」ボタンが表示される。 「中止」、「再試行」、「無視」ボタンが表示される。 None 35. __________,__________ 次のマクロを実行したとき、下図セルD1に代入される値はいくつか解答しなさい。 Sub Exam1() Dim i As Long, N As Long For i = 2 To 6 If Cells(i, 1).Value = “Black” Or Cells(i, 1).Value = “White” Then If Cells(i, 2).Value >= 200 Then N = N + 200 Else N = N + 100 End If Else N = N + 50 End If Next i MsgBox N End Sub 850 0 1000 650 None 36. __________,__________ 次のコードは、実行するとA列の値の一部分をB列に代入するマクロである。 マクロ実行の結果はどうなるか選択肢の中から正しいものを1つ解答しなさい。 Sub Exam1() Dim i As Long For i = 1 To 6 Cells(i, 2) = Mid(Cells(i, 1), InStr(Cells(i, 1), ” “) + 2) Next i End Sub 2列目セルに、1列目の文字列内の空欄の位置を見つけ、 見つけた文字列の位置の先頭からの文字数に3を足し算した位置 以降の文字列を、全て代入した。 2列目セルに、1列目の文字列内の空欄の位置を見つけ、空欄より後ろの2文字を代入した。 2列目セルに、1列目の文字列内の空欄の位置を見つけ、 見つけた文字列の位置の先頭からの文字数に2を足し算した位置 以降の文字列を、全て代入した。 2列目セルに、1列目の文字列内の空欄の位置を見つけ、空欄を含め2文字を代入した。 None 37. __________,__________ オブジェクトとオブジェクトが等しいかを比較する演算子を、以下の選択肢の中から1つ解答しなさい。 = Like As Is None 38. __________,__________ 次のマクロを実行した結果、D列に代入される数値の合計として正しいものを、選択肢の中から1つ解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 If Cells(i, 1) = “Green” Then Cells(i, 4) = Cells(i, 3) * 3 If Cells(i, 2) = “warm” Then If Cells(i, 1) = “Brown” Then Cells(i, 4) = Cells(i, 3) /2 If Cells(i, 1) = “Yellow” Then Cells(i, 4) = Cells(i, 3) * 2 End If Next i End Sub 0 1950 1500 3450 None 39. __________,__________ シートを削除した時に、下図の確認メッセージを表示させないコードとして、 適切なものを次の選択肢の中から1つ解答しなさい。 Application.DisplayAlert = False Application.DisplayAlerts = True Application.DisplayAlerts = False Application.Alerts = False None 40. __________,__________ 次のコードを実行したとき、セルB4に表示される値として正しいものを選択肢の中から解答しなさい。 Sub Exam1() Range(“B2”) = Abs(Range(“A2”)) Range(“B3”) = Abs(Range(“A3”)) Range(“B4”) = Abs(Range(“A4”)) End Sub 11.0 11.1 -11.1 11 None