【ランダム順出題】Excel VBA ベーシック 模擬試験 問題バンクから40問出題 Excel VBA ベーシック 模擬問題 模擬試験 2025.12.092026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。 そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整いましたら、ボタンを押して試験を開始してください。 1. __________,__________ クイックアクセスツールバー(QAT)を説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 QATにはマクロを登録できるが、実行するためのボタンは表示されない。 QATにマクロを登録後は、QATボタンからマクロを実行できる。 マクロを登録後、QATボタンから押すと、マクロダイアログボックスが出現する。 QATにはすべてのプロシージャを登録できる。 None 2. __________,__________ デジタル署名について、誤った説明をしているものを選択肢から1つ解答しなさい。 デジタル署名は、マクロを含むブックに添付することができる。 デジタル署名が付与されたマクロは、セキュリティレベルが「警告を表示してすべてのマクロを無効にする」に設定されている場合でも、警告を表示せずにマクロを実行できる。 デジタル署名は、マクロを改ざんから保護するためには使用しない。 デジタル署名を使用すると、マクロの作成者などの情報を保存できる。 None 3. __________,__________ 次のマクロを実行したとき、メッセージボックス内に表示されるアイコン を選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Long N = MsgBox (“要確認”, vbOKCancel+vbCritical, “フェーズ1”) End Sub None 4. __________,__________ 次のコードは表の最終行全体を削除するマクロである。 空欄に入る適切な選択肢を1つ解答しなさい。 Sub Exam1() Cells(Rows.Count, 1).End(xlUp).【 ① 】. Delete End Sub EntireRow EntireRows EntireColumn EntireColumns None 5. __________,__________ 次のコードは、マクロ実行前に表の列の最終行数がいくつかわからないときや、 列の最終行が変更となった時でも一番上から下へ進み最終行を見つけ、変わらず処理を実行するマクロである。 空欄に入る適切な語句を選択肢の中から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).Row End(xlDown) (xlDown).Row End(xlDown).Rows None 6. __________,__________ 次のマクロを実行した結果を、選択肢の中から正しいものを1つ解答しなさい。 Sub Exam1() Dim i As Integer, N As Integer For i = 1 To 3 N = N + i Next i For i = 1 To 5 N = N + i Next i MsgBox “Nの値は” & N End Sub マクロ実行時エラーとなった。 Nの値は21とメッセージが表示された。 上から2回目のFor i = の行でエラーとなった。 Nの値は15とメッセージが表示された。 None 7. __________,__________ 標準モジュールの挿入と削除に関する説明として、間違っているものを選択肢より一つ解答しなさい。 標準モジュールは、新規ブックにデフォルトで含まれているため、挿入する必要がある。 標準モジュールの削除は、プロジェクトエクスプローラーで削除したいときは、標準モジュールを右クリックし、 [ファイルのエクスポート] を選択することで実行できる。 標準モジュールは、VBEの [挿入] メニューから [標準モジュール] を選択すると挿入できる。 標準モジュールを削除する前に、 [ファイルのエクスポート] を選択することで、モジュールをファイルとして保存できる。なお保存したファイルの拡張子は「.bas」である。 None 8. __________,__________ 変数や定数のコードとして、使用できるものを以下の選択肢の中から1つ解答しなさい。 Dim A As LongA = 100A = 200 Const A As Long = 100A = 200 Dim A As Long = 100 Const A = 100 None 9. __________,__________ VBAの行継続文字について、次のうち正しい説明を選択肢より1つ解答しなさい。 行継続文字は、単語の途中で使用することができる。 行継続文字は、”_”(アンダーバー)のみで構成される。 行継続文字は、コードを途中で改行したい位置にある単語や用語の間に挿入する。 行継続文字は、1行の中に何回でも使用することができる。 None 10. __________,__________ 次のコードは、指定したシートの後ろにシートを3枚挿入するマクロである。 空欄に入る適切な語句を選択肢より1つ解答しなさい。 Sub Exam1() Sheets.Add After:=Sheets(“Sheet1”), 【 ① 】:=3 End Sub Times Count Value Number None 11. __________,__________ 以下のコードは、各列の数値の合計値を5行目のTotal行に代入するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim A As Long, i As Long, j As Long For j = 2 To 5 A = 0 For i = 2 To 4 A = A + Next i Cells(5, j) = A Next j End Sub 12. __________,__________ 次のコードは表のA列をシートの一番下から上に進み、値がある最初のセル内をクリアにするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Cells(Rows.Count, 1).End( ).ClearContents End Sub 13. __________,__________ 次のマクロを実行後B列目のセルに「〇」はいくつ入るか。 選択肢より個数を解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 10 If Left(LCase(Cells(i, 1)), 1) = “g” Then Cells(i, 2) = “〇” End If Next i End Sub 0 2 1 3 None 14. __________,__________ 変数Aへ値を格納する記述として、正しいものを1つ解答しなさい。 A = 150 + 100 A Is ”A” A As 150 + 100 A eql 150 + 100 None 15. __________,__________ オブジェクト式に基本の型は以下のついて説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 オブジェクト式の、基本の型は以下の2つである。・オブジェクト(対象).プロパティ(様子) = 値・オブジェクト(対象).メソッド(命令) = 値 オブジェクト式の、基本の型は以下の2つである。・プロパティ(様子).オブジェクト(対象)) = 値・オブジェクト(対象).メソッド(命令).オプションまたは引数:= 値 オブジェクト式の、基本の型は以下の2つである。・オブジェクト(対象).プロパティ(様子).オプションまたは引数=値・オブジェクト(対象).プロパティ(様子): = 値 オブジェクト式の、基本の型は以下の2つである。・オブジェクト(対象).プロパティ(様子) = 値・オブジェクト(対象). メソッド(命令).オプションまたは引数:=値 None 16. __________,__________ 関数の引数について説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 関数の処理で使うデータは引数とよばれ、一部を除き関数の後ろに「( )」括弧で囲み数値や文字列、日付などを指定する。 VBAでの関数は、Excelのワークシート上で扱う関数と違い引数は受け取らない。 関数の複数の引数の指定は、複数の場合は「( )」括弧内で「,」カンマでくぎる。また引数を受け取らない場合でも「( )」括弧は省略することができない。 関数の引数は、必ず1つのみ指定し、引数が複数ある場合や引数を受け取らない関数はない。 None 17. __________,__________ 以下のマクロの変数Aに0~100までの整数を格納したい。 空欄に入る適当なものを一つ選択肢から解答しなさい。 Sub Exam1() Dim A As 【 ① 】 A = 100 MsgBox A End Sub Date Boolean String Byte None 18. __________,__________ 以下のコードは、実行したときにD列内の「bb」の個数を数えメッセージを表示するコードである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long ,N As Long ,LastCol As Long LastCol = Cells(1, Columns.Count).End(xlToLeft). For i = 2 To 13 If Cells(i , LastCol) = ”bb” Then N = N + 1 End If Next i MsgBox “bbは” & N &”個です。” End Sub 19. __________,__________ マクロの説明ついて、誤っているのものを選択肢から1つ解答しなさい。 マクロを含むブックを保存する場合、ファイルの種類を「Excel マクロ有効ブック(*.xlsm)」で保存する必要がある。 マクロは、ブックとは別の場所に保存することができる。 ブックにあるマクロごと削除したい場合は、マクロを含むブックを削除すればよい。 ブックからあるマクロを削除したい場合は、VBEからマクロが記述されたモジュールを削除すればよい。 マクロを保存するには、マクロを含むブックを保存する必要がある。 None 20. __________,__________ VBAのオブジェクトの階層構造において、オブジェクトを省略して記述した場合、 どのオブジェクトが指定されるとみなされるか、正しいものを選択肢から1つ選びなさい。 オブジェクトを階層構造を省略して記述することはできない。 階層構造を省略して記述されたシートのオブジェクトは、常にSheet(1)とみなされる。 階層構造を省略して記述されたオブジェクトは、コード内で最後に指定されたブックまたはシートとみなされる。 階層構造を省略して記述されたオブジェクトは、アクティブなブックまたはシートとみなされる。 None 21. __________,__________ 次のコードは、1列目から3列目に入力されている値から日付を認識し、 認識した日付の翌日の年月日を4列目に入力するマクロである。 空欄に入る適切な語句を選択肢の中から解答しなさい。 Sub Exam1() Cells(1,4) =【 ① 】(Cells(1, 1), Cells(1, 2), Cells(1, 3))+1 End Sub Day Date IsDate DateSerial None 22. __________,__________ 変数の宣言を強制した状態で次のコードのうち実行したときに、エラーとなるマクロはどれか、選択肢の中から一つ解答しなさい。 Sub Exam1() Dim A0 As Long A0 = 100 MsgBox A0End Sub Sub Exam1() Dim oB As Long oB = 100 MsgBox oBEnd Sub Sub Exam1() Ao = 100 MsgBox A0End Sub Sub Exam1() Dim 0B As Long 0B = 100 MsgBox 0BEnd Sub None 23. __________,__________ 次のコードはブック内のシート名「VBA」のシートを探し、見つけたシートのセルに 指定の文字列を代入するマクロである。 空欄に入る適切な語句を選択肢の中から1つ解答しなさい。 Sub Exam1() Dim i As Long For i = 1 To Sheets.【 ① 】 If Sheets(i).Name = “VBA” Then Sheets(i).Range(”A1”) =”Excel” End If Next i End Sub Add Const CountIf Count None 24. __________,__________ 次のコードはメッセージ内の「Excel」と「BASIC」の間で改行し表示するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() MsgBox “Excel” & & “BASIC” End Sub 25. __________,__________ VBEからマクロを実行する時の説明として間違っているものを、次の選択肢の中から2つ解答しなさい。 VBEからマクロを実行するには、 [F8] キー押すと実行できる。 VBEからマクロを実行するときに、カーソルの位置がプロシージャの外にあるとマクロダイアログボックスの画面が開く。VBEからマクロを実行するときに、カーソルの位置がプロシージャの外にあるとマクロダイアログボックスの画面が開く。 VBEからマクロを実行するには、メニューの「ツール」から 「▷ [Sub/ユーザーフォームの実行] 」あるいは、ツールバーの「▷」を押して実行する。 VBEから指定のプロシージャのマクロを実行するときには、 カーソルの位置を実行したいプロシージャのSubマクロ()名からEnd Subまでの間の 内部にカーソルを置き実行する。 26. __________,__________ 以下のコードはシートのセルA1からセルA3までの文字列を、別のシートにコピーするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long With ActiveSheet .Range(“A1:C1”).Value = “VBA” .Range(“A1:C1”). Copy Sheets(”sheet2”).Range(“A1:C1”) End End Sub 27. __________,__________ 以下のVBAのステートメントに関する説明として、正しいものを1つ解答しなさい。 Ifステートメントは、変数を宣言するために使用する。 For…Nextステートメントは、値を計算するために使用する。 Dimステートメントは、条件分岐を行うために使用する。 Subステートメントは、プロシージャの始まりを定義するために使用する。 None 28. __________,__________ 次のコードを実行すると結果はどうなったか、適切な結果を選択肢から1つ解答しなさい。 Sub Exam1() ActiveWorkbook.ActiveSheet.Range(“A1”).Value = “VBA” ActiveWorkbook.Save ActiveWorkbook.Close End Sub ブックは閉じられず、保存するかどうかのメッセージが表示される。 ブックの変更内容は、保存されずに閉じられる。 ブックの変更内容は、保存されずに閉じられ、エラーが発生する。 ブックの変更内容は、保存されて閉じられる。 None 29. __________,__________ 次のVBEの説明のうち正しいものを選択肢から1つ解答しなさい VBEはマクロのコードを記述するだけの場所である。 VBEを終了するとExcelも終了する。 VBEはExcelとは異なるアプリケーションであるので、Excelから直接起動することができない。 VBEはコードでマクロを記述したり、作成したマクロを実行するためのアプリケーションである。 None 30. __________,__________ 以下の選択肢の中で、キー操作で複数のシートを選択する操作として、正しいものを1つ解答しなさい。 :複数の連続しないシートの選択 :連続するシートの選択 複数のシートを選択するには、シート見出しを右クリックする。 複数のシートを選択するには、シート見出しをドラッグする。 複数の連続しないシートを選択するには、1つ選択状態のシートがある状態でCtrlキーを押しながらシート見出しをクリックする。 複数の連続するシートを選択するには、Altキーを押しながらシート見出しをクリックする。 None 31. __________,__________ セルのTextプロパティについての記述として、適切なものを選択肢から1つ解答しなさい。 セルに表示されている文字列は取得できない。 セルに表示されている文字列を取得できる。 セルに値を代入できる。 セル内の数式を取得できる。 None 32. __________,__________ 以下のマクロを実行時、セルを削除したあとに左方向にシフトする記述として空欄に入る語句を選択肢から1つ解答しなさい。 Sub Exam1() Range(“C3”).Delete Shift:=【 ① 】 End Sub xlToLeft xlShiftToRight xlUp xlLeft None 33. __________,__________ 標準モジュールを別のブックにコピーする方法として、適切なものを選択肢より一つ選びなさい。 標準モジュールをコピーするには、プロジェクトエクスプローラーでコピーしたい標準モジュールを右クリックし、「コピー」を選択し、 コピー先のブックのプロジェクトエクスプローラーで[貼り付け]を選択する。 標準モジュールをコピーするには、プロジェクトエクスプローラーでコピーしたい標準モジュールを選択し、コピー先のブックのプロジェクトエクスプローラーにドラッグ&ドロップする。 標準モジュールをコピーするには、[ファイル]メニューの[コピー]を選択し、コピー先のブックで[ファイル]メニューの[貼り付け]を選択する。 標準モジュールをコピーするには、[編集]メニューの[コピー]を選択し、コピー先のブックで[編集]メニューの[貼り付け]を選択する。 None 34. __________,__________ 次のコードは、シート一番左端のシートのセルA1の値を、2枚目から4枚目までの各シートのセルA1へコピーするマクロである。 なお現在のアクティブシートはセルA1に”VBA”と値がある一番左端のシートである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Dim i As Long, N As Long N = Sheets.Count For i = 2 To N With Sheets(i) If i < 5 Then 【 ① 】.Copy 【 ② 】 Else MsgBox “コピーしません” End If End With Next i End Sub ① Range(“A1”) ② Range(“A1”) ① .Range(“A1”) ② Range(“A1”) ① .Range(“A1”) ② .Range(“A1”) ① Range(“A1”) ② .Range(“A1”) None 35. __________,__________ VBEのコメントの書式設定について、次のうち誤っているものを選択肢より1つ解答しなさい。 コメントの前景と背景の色は変更できる。 コメントのフォントの色は変更できない。 コメントのフォント名は変更できる。 コメントの設定はVBEの「ツール」メニューから「オプション」を実行し、エディターの設定タブより、「コメント」を選択するとフォント等について指定することができる。 None 36. __________,__________ 以下の空欄に小数や負の値の売り上げ金額にも対応した、変数の型指定文字を記述したい。 適切でないものはどれか、選択肢の中から一つ解答しなさい。Dim A As 【 ① 】 Integer Double Variant Currency None 37. __________,__________ マクロのセキュリティレベルやセキュリティの表示、通知について説明した以下の選択肢のうち、正しいものを2つ解答しなさい。 セキュリティレベルが「警告を表示してすべてのマクロを無効にする」となっている場合、 マクロを有効にするには、マクロを含むブックを開き警告が表示されたら「コンテンツの有効化ボタン」をクリックする。 VBEを起動した状態でマクロを含むブックを開いたとき「Microsoft Office Excelのセキュリティに関する通知」が表示される。 その後「マクロを無効にする」ボタンをクリックするとブックが信頼され以後警告メッセージは表示されない。 セキュリティレベルの設定は標準では「デジタル署名をされたマクロを除きすべてのマクロを無効にする」になっている。 マクロ実行許可のセキュリティレベルの設定や確認は、Excelのオプションの「セキュリティセンター」から「マクロの設定」で行う。 38. __________,__________ 以下の選択肢は変数の自動変換について説明したものである。適切な説明を選択肢から1つ解答しなさい。 文字列型の変数に数値を代入すると、VBAが自動的に文字列に変換して変数に格納する。 文字列型の変数に数値を格納すると、実行時エラーが発生する。 数値は文字列型の変数に格納できない。 VBAが変数に格納する際に、自動的に数値を文字列に変換することはない。 None 39. __________,__________ 次のコードはセルA1を含む連続したひとかたまりのセル範囲に、行が何行あるかを調べるマクロである。 選択肢の中から空欄に入る正しいものを1つ解答しなさい。 Sub Exam1() Dim N As Integer N = Range(“A1”).【 ① 】.Rows.Count MsgBox N End Sub CurrentRegion Selection ActiveCell Select None 40. __________,__________ VBEの起動やマクロの記録のショートカットキーに関する説明として、正しいものを選択肢から1つ解答しなさい。 VBEの起動はショートカットキーの「Alt」+「F9」キーで行うことができる。 マクロの記録ダイアログボックスのショートカットキーへは、Ctrlキーと半角小文字と半角大文字のアルファベットを登録できる。 マクロの記録ダイアログボックスのショートカットキーは、Ctrlキーと半角あるいは全角のアルファベットで登録できる。 VBEの起動は、ショートカットキーの「Alt」+「F10」キーで行うことができる。 None