【ランダム順出題】Excel VBA ベーシック 模擬試験 問題バンクから40問出題 Excel VBA ベーシック 模擬問題 模擬試験 2025.12.092026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。 そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整いましたら、ボタンを押して試験を開始してください。 1. __________,__________ 次のコード実行をしたとき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 True 戻り値はなかった。 False None 2. __________,__________ 次のコードは、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 +0 +1 -1 -2 None 3. __________,__________ すでに保存がされているアクテイブ状態のブックに対して、次のコードを実行した場合どうなるか。 説明として正しいものを、選択肢から1つ解答しなさい。 *なお保存先に同じ名前のブックはないものとする。 Sub Exam1() ActiveWorkbook.Sheets(1).Range(“A1”) = “VBA” ActiveWorkbook.Close SaveChanges:=True, Filename:=”C:\User\Total.xlsx” End Sub 変更は保存せずブックを閉じた。 実行するとエラーとなった。 変更を反映したブックを名前をつけて保存した。 ファイルの内容の変更を保存しますか?」というメッセージが表示される。 None 4. __________,__________ 次のコードはブックへ変更した内容が保存されているかを判断し、メッセージを表示するマクロである。 未保存の場合は3行目の処理を、それ以外の場合は6行目の処理を行います。 空欄に入る適切な語句を、選択肢より1つ解答しなさい。 Sub Exam1() If ThisWorkbook.Saved= 【 ① 】 Then MsgBox “変更が未保存です。保存します。” ThisWorkbook.Save Else MsgBox “変更はありません。保存は不要です。” End If End Sub Protect False True SaveChanges None 5. __________,__________ 次のコードは表をセルC2から下に進み、値がある最後のセルを削除するマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Range(“C2”). (xlDown).Delete End Sub 6. __________,__________ 次のコードは、メッセージボックスに値を表示するマクロである。 表示される値として正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “0#,###.##0”) End Sub 1397.65 1,397.65 01,397.650 1,397.650 None 7. __________,__________ ブックに変更を行ったが、変更を保存せず閉じるコードとして、空欄に入る適切な語句を選択肢の中から1つ解答しなさい。 ActiveWorkBook .【 ① 】 Close False Close SaveChanges:=True Close Closed None 8. __________,__________ 変数の宣言や、変数の宣言強制の説明で間違っているものを、選択肢の中から1つ解答しなさい。 変数の宣言を強制する設定した後は、モジュール内のコードに変数の宣言が何も記述されていない状態で変数を使用するとエラーが発生する。 変数の宣言を強制をする設定は、一度設定すると、Excelを終了しても設定が保持される。 変数の宣言を強制する設定をしても、自動ではモジュールの先頭に「Option Explicit」というコードが挿入されない。 変数の宣言を強制する設定は、VBEの[ツール]メニューから[オプション]をクリックし、[オプション]ダイアログボックスを開き、編集タブの[変数の宣言を強制する]チェックボックスを「レ」にすることで設定できる。 None 9. __________,__________ マクロの実行やデバックについて説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 実行したマクロのExcel操作は、「元に戻す」コマンドで取り消すことができる。 デバッグモードを終了させるにはツールバーの終了ボタンをクリックする。 デバッグモードとはマクロ実行時、何らかの理由でエラーがあった時に、 エラーで実行できなかったコードの行が黄色で表示され一時停止している状態を指す。 マクロ実行時にコードに間違いがあった際は、Excelは強制終了となる。 None 10. __________,__________ リボンにある「Visual Basic」アイコンや開発タブについて、誤っているものを選択肢から1つ解答しなさい。 リボンの「Visual Basic」アイコンは、Excelの画面からVBEを起動するためのアイコンとして使用できる。 [開発] タブを表示させるには、 [Excelのオプション] 画面で [リボンのユーザー設定] をクリックし、「メインタブ」から [開発] チェックボックスをオンに設定する。 [開発] タブに登録したアイコンは、Excelのバージョンによっては表示されない場合がある。 リボンのアイコンを登録するなどカスタマイズするには、 [ファイル] タブから [オプション] を選択し、 [リボンのユーザー設定] から設定を行う。 None 11. __________,__________ 次のコードは、変数Aをどのモジュールでも使用できるパブリック変数として宣言し、 変数Bは宣言したプロシージャで使えるようにするローカルレベル変数として宣言するマクロである。 空欄を埋める適切な語句を解答しなさい。 ————————————————— Module1 ————————————————— Option Explicit A As Integer Sub Exam1() B As String A = 300 B = “VBA” Call Exam2 MsgBox B End Sub Sub Exam2() Dim N As Integer N = A MsgBox N End Sub ——————————————- Module2 ——————————————- Option Explicit Sub Exam1() A = 100 MsgBox “Aの値は” & A & “です” End Sub 12. __________,__________ プロシージャの実行方法に関する説明として、正しいものを選択肢より一つ解答しなさい。 プロシージャを実行するには、実行したいプロシージャ内にカーソルを置き、F6キーを押す。 プロシージャを実行するには、実行したいプロシージャ内にカーソルを置き [実行] メニューの [▷Sub/ユーザーフォームの実行] をクリックする。 プロシージャを実行するには、 [デバッグ] メニューの [▷Sub/ユーザーフォームの実行] を押す。 プロシージャを実行するには、実行したいプロシージャの外にカーソルを置き、 [実行] メニューの [▷Sub/ユーザーフォームの実行] ボタンをクリックする。 None 13. __________,__________ 以下のコードは、実行したときに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 14. __________,__________ ブックを開くコードとして間違っているものを空欄に入る選択肢から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” 15. __________,__________ 標準モジュールを別のブックにコピーする方法として、適切なものを選択肢より一つ選びなさい。 標準モジュールをコピーするには、[ファイル]メニューの[コピー]を選択し、コピー先のブックで[ファイル]メニューの[貼り付け]を選択する。 標準モジュールをコピーするには、プロジェクトエクスプローラーでコピーしたい標準モジュールを右クリックし、「コピー」を選択し、 コピー先のブックのプロジェクトエクスプローラーで[貼り付け]を選択する。 標準モジュールをコピーするには、[編集]メニューの[コピー]を選択し、コピー先のブックで[編集]メニューの[貼り付け]を選択する。 標準モジュールをコピーするには、プロジェクトエクスプローラーでコピーしたい標準モジュールを選択し、コピー先のブックのプロジェクトエクスプローラーにドラッグ&ドロップする。 None 16. __________,__________ グラフ描画するシートを選択することができるコードはどれか。 空欄に入る適切なものを選択肢から1つ解答しなさい。 Sub Exam1() 【 ① 】 End Sub WorkSheets(“1”).Select Sheet(“1”).Select GraphSheet(“1”).Select Sheets(“1”).Select None 17. __________,__________ VBEの起動やマクロの記録のショートカットキーに関する説明として、正しいものを選択肢から1つ解答しなさい。 VBEの起動は、ショートカットキーの「Alt」+「F10」キーで行うことができる。 マクロの記録ダイアログボックスのショートカットキーは、Ctrlキーと半角あるいは全角のアルファベットで登録できる。 VBEの起動はショートカットキーの「Alt」+「F9」キーで行うことができる。 マクロの記録ダイアログボックスのショートカットキーへは、Ctrlキーと半角小文字と半角大文字のアルファベットを登録できる。 None 18. __________,__________ 次のコードでマクロ実行した時、結果がどうなるか選択肢の中から1つ解答しなさい。 Sub Exam1() Dim A As Long, B A = “20” B = “VBA” MsgBox A & B End Sub メッセージボックスに「20VBA」と表示される。 「B = “VBA」の行でエラーになる。 「MsgBox A & B」の行でエラーになる。 「A = “20”」の行でエラーになる。 None 19. __________,__________ 次のコードは、メッセージボックスに「2025年10月23日木曜日」と表示するマクロである。 空欄に入る値として正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “yyyy年mm月dd日【 ① 】”) End Sub ddd dddd aaa aaaa None 20. __________,__________ VBAの用語の説明として、正しいものを選択肢から1つ選びなさい。 ステートメントとは、操作の対象であるオブジェクトに対して、マクロ全体の中で条件分岐、繰り返し処理などの何らかの動きのことで、 ユーザーの操作を記録するマクロの記録では、全てのステートメントを記録することができる。 関数とは引数を受け取り、その関数に決められた処理で結果を返す仕組みのことである。 プロパティとはオブジェクトの動作やアクションを伴う命令で、メソッドとはオブジェクトの様子や状態のことである。 コレクションとは、階層構造で表す際のオブジェクトの集合体のことで、記述をする際は一般的にオブジェクトを複数形(s)で表す。 None 21. __________,__________ Cells(3, 5) の説明として正しいものを以下の選択肢から1つ選びなさい。 3行目のE列のセルを指す。 E行目の3列目のセルを指す。 5行目のC列のセルを指す。 5行目のE列のセルを指す。 None 22. __________,__________ VBAのオブジェクトの階層構造において、オブジェクトを省略して記述した場合、 どのオブジェクトが指定されるとみなされるか、正しいものを選択肢から1つ選びなさい。 階層構造を省略して記述されたオブジェクトは、アクティブなブックまたはシートとみなされる。 階層構造を省略して記述されたシートのオブジェクトは、常にSheet(1)とみなされる。 オブジェクトを階層構造を省略して記述することはできない。 階層構造を省略して記述されたオブジェクトは、コード内で最後に指定されたブックまたはシートとみなされる。 None 23. __________,__________ VBAの演算子に関する説明として、間違っているものを選択肢より一つ解答しなさい。 演算子は数値を計算するための記号や文字であり、文字列の操作は行わない。 比較演算子は、値の比較を行う演算子であり、記号や文字にはIs、Like、=、、=、などがある。 算術演算子は、数値の計算を行う演算子であり、算術演算子を表す記号や文字には+、-、*、/、\、^、Modなどがある。 演算子には、算術演算子、比較演算子、論理演算子、代入演算子などの種類がある。 None 24. __________,__________ 以下のブックの挿入についての説明で間違っているものを、選択肢の中から1つ解答しなさい。 ブックを挿入するときにはAddメソッドを使用する。 ブックを挿入するときのコレクションは、WorkBooksコレクションを使用する。 ブックを挿入しても、アクティブブックに変更はない。 ブックを挿入すると、挿入されたブックがアクティブブックとなる。 None 25. __________,__________ 次のマクロを実行したときの結果を説明した選択肢の中から、 説明が正しいものを1つ解答しなさい。 Option Explicit Public Const A As String = ”Excel” Const B As String = ”Word” Sub Exam1() Const C As String = ”PowerPoint” MsgBox( A & B & C ) Call Exam2 End Sub Sub Exam2() MsgBox( A & B & C ) End Sub Sub Exam1()のMsgBox ( A & B & C )の結果が表示されたあと、Sub Exam2( )のMsgBox ( A & B & C )の行でエラーになる。 Sub Exam1()のMsgBox ( A & B & C )の行でエラーになる。 マクロは全て実行される。 宣言セクションのConst B As String = ”Word”の行でエラーになる。 None 26. __________,__________ 次のコードは、値を入力するダイアログボックスを表示するマクロである。 キャンセルボタンをクリックした時や、入力された文字列が何もない場合には、どのような値を戻り値として返すか。 適切な語句を選択肢より1つ解答しなさい。 Dim A As String A = InputBox(“何か文字を入力してください。”, “VBA”) Null 空欄(“”) 0 False None 27. __________,__________ 現在開いているブックが複数ある場合において、ブック名「Total」のシート名「Sheet1」のセルに値を代入するマクロとして空欄に入る正しいものを選択肢から1つ解答しなさい。 なおブックはすでに一度保存済みである。Sub Exam1()【 ① 】End Sub WorkBooks(“Total.xlsx”).Sheets(“Sheet1”).Range(“B5”) = “Excel” WorkBook(“Total.xlsx”).Sheets(“Sheet1”).Range(“B5”) = “Excel” WorkBooks(“Total.xlsx”).Sheet(1).Range(“B5”) = “Excel” WorkBook(“Total.xlsx”).Sheet(“Sheet1”).Range(“B5”) = “Excel” None 28. __________,__________ VBEの起動と終了についての説明として、正しいものを選択肢から1つ解答しなさい。 VBEを起動すると、Excelも自動的に起動する。 Excelを終了するとVBEも終了する。 VBEの終了は、Excelの終了とは関係なく、VBEのウィンドウを閉じることによってのみ行うことができる。 VBEはExcelとは別のアプリケーションなので、Excelを起動せずにVBEだけを起動することができる。 None 29. __________,__________ VBAのオブジェクト式の「プロパティ」について、誤っている説明を選択肢から1つ解答しなさい。 プロパティは、オブジェクト式では「対象.プロパティ= 値」のように記述する。 プロパティは、オブジェクトの動作を指定する。 プロパティの中には、値を変更できないものもある。 プロパティは、オブジェクトの状態や様子を表す。 None 30. __________,__________ 次のコードは、メッセージボックスに日付形式の「25/07/06」を表示するマクロである。 表示される値として正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “【 ① 】”) End Sub yyyy/mm/dd yy/mm/dd yy-mm-dd yy/m/d None 31. __________,__________ 変数に日付を格納したい。この時の型指定文字として間違っているものを一つ解答しなさい。 Variant Day Date 何も指定しない None 32. __________,__________ 次のコードは表のA列をシートの一番下から上に進み、値がある最初のセル内をクリアにするマクロである。 空欄に入る適切な語句を解答しなさい。 Sub Exam1() Cells(Rows.Count, 1).End( ).ClearContents End Sub 33. __________,__________ 以下のコードは、各列の数値の合計値を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 34. __________,__________ 以下の選択肢のコードや、条件のときに実行すると「エラー」となるものを選択肢の中から1つ解答しなさい。 ActiveWorkbook.SaveAs Filename:=”C:\User\Test.xlsx”指定の場所にアクティブブックは未保存の状態で、本コードを実行した。保存時に保存先の場所に同名のファイル名はないものとする。 指定の場所にブックは未保存の状態で、ActiveWorkbook.SaveAs Filename:=”C:\User\Test.xlsx”のコードを2回、 実行後以下の「置き換えますか?」というメッセージがでて「いいえ」あるいは「キャンセル」ボタンを選択した。 指定の場所にブックは未保存の状態で、ActiveWorkbook.SaveAs Filename:=”C:\User\Test.xlsx” のコードを2回実行した。保存時、保存場所に同名のファイル名はないものとする。 ActiveWorkbook.Save…上書き保存を実行するアクティブブックは、一度保存済みである。 None 35. __________,__________ 以下の選択肢は変数の自動変換について説明したものである。適切な説明を選択肢から1つ解答しなさい。 文字列型の変数に数値を代入すると、VBAが自動的に文字列に変換して変数に格納する。 VBAが変数に格納する際に、自動的に数値を文字列に変換することはない。 文字列型の変数に数値を格納すると、実行時エラーが発生する。 数値は文字列型の変数に格納できない。 None 36. __________,__________ デジタル署名について、誤った説明をしているものを選択肢から1つ解答しなさい。 デジタル署名は、マクロを含むブックに添付することができる。 デジタル署名は、マクロを改ざんから保護するためには使用しない。 デジタル署名を使用すると、マクロの作成者などの情報を保存できる。 デジタル署名が付与されたマクロは、セキュリティレベルが「警告を表示してすべてのマクロを無効にする」に設定されている場合でも、警告を表示せずにマクロを実行できる。 None 37. __________,__________ 変数の初期化について、正しい説明を選択肢より1つ選択しなさい。 変数の初期化は、必ず記述しなくてはいけない。 変数の初期化とは、変数の値が初期値になることである。 変数の初期化は、変数を宣言する際に行う必要がある。 変数の初期化は、変数を使用する直前に必ず行う必要がある。 None 38. __________,__________ セル内の数式の取得や数式の代入をするプロパティとして、正しい記述を選択肢から解答しなさい。1.Range(“A1”).Value2.Range(“A1”).Formula3.Range(“A1”).Text4.Range(“B1”).Formula = “=Sum(A1:A3)” 2と4 1 1と3 2 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 BrownOrange BrownOrangeRedYellow なし RedYellow None 40. __________,__________ 以下の選択肢の中で実行途中に「変更内容を保存しますか?」 というメッセージが出るマクロはどれか。空欄に入る適切なものを選択肢から1つ解答しなさい。 Sub Exam1() Workbooks.Add ActiveWorkBook.Close SaveChanges:= FalseEnd Sub Sub Exam1() WorkBooks.Add ActiveWorkBook.CloseEnd Sub Sub Exam1() Workbooks.Add ActiveWorkbook.Sheets(1).Range(“A1”) = “VBA” ActiveWorkbook.CloseEnd Sub Sub Exam1() Workbooks.Add ActiveWorkBook.Close SaveChanges:= True End Sub None