【ランダム順出題】Excel VBA ベーシック 模擬試験 問題バンクから40問出題 Excel VBA ベーシック 模擬問題 模擬試験 2025.12.092026.01.10 【試験の形式について】 この試験は、多数の問題の中から毎回自動でランダムに出題される形式をとっています。 そのため、問題の出題順や選択肢の並び順は、受験のたびにシャッフルされます。 準備が整いましたら、ボタンを押して試験を開始してください。 1. __________,__________ 関数の引数について説明した以下の選択肢のうち、正しいものを1つ解答しなさい。 関数の処理で使うデータは引数とよばれ、一部を除き関数の後ろに「( )」括弧で囲み数値や文字列、日付などを指定する。 関数の複数の引数の指定は、複数の場合は「( )」括弧内で「,」カンマでくぎる。また引数を受け取らない場合でも「( )」括弧は省略することができない。 関数の引数は、必ず1つのみ指定し、引数が複数ある場合や引数を受け取らない関数はない。 VBAでの関数は、Excelのワークシート上で扱う関数と違い引数は受け取らない。 None 2. __________,__________ 次のコードはセル内のアルファベットを大文字にし、指定のセルに代入するマクロである。 空欄に入る適切な語句を選択肢から解答しなさい。 Sub Exam1() Range(“B2”).Value = 【 ① 】(Range(“A2”).Value) End Sub LowerCase UCase UpperCase LCase None 3. __________,__________ 次のマクロの内、メッセージボックスの左から2番目のボタンを押したときの戻り値が、「vbNo」となるコード2つを選択肢より解答しなさい。 Sub Exam1() Dim N As Long N = MsgBox (“完了”, vbYesNo)End Sub Sub Exam1() Dim N As Long N = MsgBox (“完了”, vbYesNoCancel)End Sub Sub Exam1() Dim N As Long N = MsgBox (“完了”, vbRetryNoCancel)End Sub Sub Exam1() Dim N As Long N = MsgBox “完了”, vbYesNoEnd Sub 4. __________,__________ 次のコードは、シート名「sheet2」のセル内に文字列を代入するマクロである。 空欄に入る適切な語句を選択肢の中から1つ解答しなさい。 Sub Exam1() Sheets(【 ① 】).Range(“A1”).Value = “ABC” End Sub “Sheet2” 1 Sheet2 2 None 5. __________,__________ 次のコードはブック内のシート名、「2」、「3」のセル内に文字列を代入するマクロである。 なおブック内にシートは3枚あり、シート名は左端から下図の順番に並んでいます。 上記のとおりには実行できない、間違っているマクロを選択肢の中から2つ解答しなさい。 Sub Exam1() Sheets(1).Range(“A1”).Value = ”ABC” Sheets(3).Range(“A1”).Value = ”ABC”End Sub Sub Exam1() Sheets(“2”).Range(“A1”).Value = ”ABC” Sheets(“3”).Range(“A1”).Value = ”ABC”End Sub Sub Exam1() Sheets(2).Range(“A1”).Value = ”ABC” ActiveSheet.Range(“A1”).Value = ”ABC”End Sub Sub Exam1() Sheets(“Sheet2”).Range(“A1”).Value = ”ABC” Sheets(“Sheet3”).Range(“A1”).Value = ”ABC”End Sub 6. __________,__________ 次のコードはセルに入力されている大文字を、すべて小文字に変換し文字列を代入するマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Range(”A1”) = StrConv(Range(”A1”),【 ① 】) End Sub vbNarrow vbLowerCase vbWide vbUpperCase None 7. __________,__________ 次のコードを、実行したときにメッセージボックスに表示される値は「令和07/09/17」である。 コードの空欄に入るものとして適切なものを選択肢より解答しなさい。 Sub Exam1() MsgBox Format(Range(“A2”), “ggg【 ① 】/mm/dd”) End Sub gg g ee e None 8. __________,__________ 変数の有効期間と値の保持に関する説明として、正しいものを1つ選択しなさい。 変数の値は、変数の有効期間が終了した時必ずクリアになる。 変数はEndなどでプロシージャを終了させなくとも、自動で変数の値がクリアになる。 適用範囲が違う変数でも値の有効期間は、すべて同じである。 変数の有効期間は、ローカル変数と、モジュールレベル変数やパブリック変数では異なる場合がある。 None 9. __________,__________ 変数の初期化について、正しい説明を選択肢より1つ選択しなさい。 変数の初期化は、変数を使用する直前に必ず行う必要がある。 変数の初期化は、変数を宣言する際に行う必要がある。 変数の初期化とは、変数の値が初期値になることである。 変数の初期化は、必ず記述しなくてはいけない。 None 10. __________,__________ ブックを開くコードとして間違っているものを空欄に入る選択肢から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”) 11. __________,__________ 次のコードは、ブックにシートが複数枚ある時にシートを削除する目的で作成したマクロである。 実行した結果を選択肢から解答しなさい。 Sub Exam1() Sheets(“Sheet1”).Delete End Sub マクロは最後まで実行された。 マクロを実行しても何も起らなかった。 メッセージが出て強制終了となった。 実行後メッセージが出て、マクロが一時停止した。 None 12. __________,__________ すでに保存がされているアクテイブ状態のブックに対して、次のコードを実行した場合どうなるか。 説明として正しいものを、選択肢から1つ解答しなさい。 *なお保存先に同じ名前のブックはないものとする。 Sub Exam1() ActiveWorkbook.Sheets(1).Range(“A1”) = “VBA” ActiveWorkbook.Close SaveChanges:=True, Filename:=”C:\User\Total.xlsx” End Sub ファイルの内容の変更を保存しますか?」というメッセージが表示される。 変更を反映したブックを名前をつけて保存した。 実行するとエラーとなった。 変更は保存せずブックを閉じた。 None 13. __________,__________ VBAの演算子に関する説明として、間違っているものを選択肢より一つ解答しなさい。 算術演算子は、数値の計算を行う演算子であり、算術演算子を表す記号や文字には+、-、*、/、\、^、Modなどがある。 比較演算子は、値の比較を行う演算子であり、記号や文字にはIs、Like、=、、=、などがある。 演算子は数値を計算するための記号や文字であり、文字列の操作は行わない。 演算子には、算術演算子、比較演算子、論理演算子、代入演算子などの種類がある。 None 14. __________,__________ 次のコードは、ブック内の各シートのA列の6行目までのセルに「VBA」が入力されているとき、入力されていた回数の合計を、ブックの1番左にあるシートのセルに代入するマクロである。 空欄に入る語句として、次の中から正しいものを1つ選択しなさい。 *なおブック内には、下図のようなシートが複数枚存在する。 1番左端にあるシート Sub Exam1() Dim i As Long, j As Long, k As Long, N As Long For i = 2 To Sheets.Count With Sheets(i) For j = 2 To 6 With【 ① 】 If .Value = “VBA” Then N = N + 1 End If End With Next j End With Next i Sheets(1).Range(“A2”) = N End Sub Cells(j, 1) .Cells(i, 1) .Cells(j, 1) .Cells(1, j) None 15. __________,__________ Boolean型の変数に格納できる値はどれか、次の選択肢の中から一つ選びなさい。 文字列 数値 False オブジェクト None 16. __________,__________ セル内の数式の取得や数式の代入をするプロパティとして、正しい記述を選択肢から解答しなさい。1.Range(“A1”).Value2.Range(“A1”).Formula3.Range(“A1”).Text4.Range(“B1”).Formula = “=Sum(A1:A3)” 2 2と4 1と3 1 None 17. __________,__________ 次のコードは現在開いているブックが1つ、ブック上のシートが1枚のみの時に、シート上のセルA1に値を代入するマクロです。 コードの記述として、空欄に入る適切なものを選択肢の中から1つ解答しなさい Sub Exam1() 【 ① 】 End Sub WorkBooks(“1”).Sheet(“1”).Range(“A1”).Value = ”北海道” WorkBook(1).Sheet(1).Range(“A1”).Value = “北海道” WorkBook(1).Sheets(1).Range(“A1”).Value = “北海道” WorkBooks(1).Sheets(1).Range(“A1”).Value = “北海道” None 18. __________,__________ 以下のブックの挿入についての説明で間違っているものを、選択肢の中から1つ解答しなさい。 ブックを挿入するときのコレクションは、WorkBooksコレクションを使用する。 ブックを挿入するときにはAddメソッドを使用する。 ブックを挿入すると、挿入されたブックがアクティブブックとなる。 ブックを挿入しても、アクティブブックに変更はない。 None 19. __________,__________ 次のマクロを実行後メッセージに表示される値として正しいものを、 選択肢の中から1つ解答しなさい。 なおセルA1には文字列の両端には「スペース」が1つずつあるものとする。 Sub Exam1() Dim A As String A =Trim (Range(“A2”)) MsgBox Len (A) End Sub 8 0 6 7 None 20. __________,__________ 次のコードはA列の各セルに入力されている半角文字列を、すべて全角文字列に変換しB列のセル内に代入するマクロである。 空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Dim i As Long For i = 2 To 11 Cells(i, 2) = StrConv(Cells(i, 1),【 ① 】) Next i End Sub vbLowerCase vbNarrow vbWide vbUpperCase None 21. __________,__________ 次のコードを実行したとき、セルB4に表示される値として正しいものを選択肢の中から解答しなさい。 Sub Exam1() Range(“B2”) = Abs(Range(“A2”)) Range(“B3”) = Abs(Range(“A3”)) Range(“B4”) = Abs(Range(“A4”)) End Sub 11 11.1 -11.1 11.0 None 22. __________,__________ 次のコードはセルA1を含む連続したひとかたまりのセル範囲に、行が何行あるかを調べるマクロである。 選択肢の中から空欄に入る正しいものを1つ解答しなさい。 Sub Exam1() Dim N As Integer N = Range(“A1”).【 ① 】.Rows.Count MsgBox N End Sub Select Selection CurrentRegion ActiveCell None 23. __________,__________ 次のマクロを実行した結果、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 1950 3450 0 1500 None 24. __________,__________ VBAの用語の説明として、正しいものを選択肢から1つ選びなさい。 プロパティとはオブジェクトの動作やアクションを伴う命令で、メソッドとはオブジェクトの様子や状態のことである。 ステートメントとは、操作の対象であるオブジェクトに対して、マクロ全体の中で条件分岐、繰り返し処理などの何らかの動きのことで、 ユーザーの操作を記録するマクロの記録では、全てのステートメントを記録することができる。 関数とは引数を受け取り、その関数に決められた処理で結果を返す仕組みのことである。 コレクションとは、階層構造で表す際のオブジェクトの集合体のことで、記述をする際は一般的にオブジェクトを複数形(s)で表す。 None 25. __________,__________ 以下の選択肢の中で実行途中に「変更内容を保存しますか?」 というメッセージが出るマクロはどれか。空欄に入る適切なものを選択肢から1つ解答しなさい。 Sub Exam1() Workbooks.Add ActiveWorkbook.Sheets(1).Range(“A1”) = “VBA” ActiveWorkbook.CloseEnd Sub Sub Exam1() WorkBooks.Add ActiveWorkBook.CloseEnd Sub Sub Exam1() Workbooks.Add ActiveWorkBook.Close SaveChanges:= FalseEnd Sub Sub Exam1() Workbooks.Add ActiveWorkBook.Close SaveChanges:= True End Sub None 26. __________,__________ 変数Aへ値を格納する記述として、正しいものを1つ解答しなさい。 A eql 150 + 100 A = 150 + 100 A As 150 + 100 A Is ”A” None 27. __________,__________ 次のコードはセルに入力されているひらがなをカタカナに、カタカナをひらがなに変換するマクロである。空欄に入る適切な語句を選択肢より解答しなさい。 Sub Exam1() Range(”A2”)=【 ① 】(Range(”A2”),vbKatakana) Range(”A3”)=「上記空欄と同じ」(Range(”A3”),vbHiragana) End Sub StrConv InStr Replace Format None 28. __________,__________ [マクロ]ダイアログボックスに関する次の記述のうち、誤っているものを選択肢の中から1つ選びなさい。 [マクロ名] リストでマクロを選択し、右側の [削除] ボタンを押下すると、確認メッセージが表示され、選択したマクロがモジュールから削除される。 [マクロ名] リストには、引数を受け取るプロシージャは表示されない。 [マクロ名(M)] リストには、 [マクロの保存先(A)] で選択したブックのプロシージャ名が表示される。 [マクロ名] テキストボックスには、既に作成済みのマクロ名と同じ名前ではないマクロ名を入力し、 [作成] ボタンを押下すると、入力した名前のプロシージャが作成される。 None 29. __________,__________ VBAでセルを指定する際に使用する用語として、適切ではないものを選択肢から1つ解答しなさい。 Range ActiveCell Cell Cells None 30. __________,__________ 次のコードでマクロ実行した時、結果がどうなるか選択肢の中から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 31. __________,__________ VBAのオブジェクト式においてメソッドとは以下のどれか、正しいものを選択肢より1つ解答しなさい。 メソッドとは、オブジェクトの状態や様子を指定するものである。 メソッドとは、オブジェクトの動作やアクションの命令のことである。 メソッドとは、値を格納する入れ物である。 メソッドとは、マクロの動作を制御するものである。 None 32. __________,__________ 選択されている複数のセルの中で文字入力可能な、1つのセルにのみ値を入力するマクロとして、正しいものを1つ選択肢から選びなさい。 SelectCell.Value = 100 ActivateCell.Value =100 ActiveCell.Value =100 Selection.Value =100 None 33. __________,__________ 変数の宣言や、変数の宣言強制の説明で間違っているものを、選択肢の中から1つ解答しなさい。 変数の宣言を強制する設定をしても、自動ではモジュールの先頭に「Option Explicit」というコードが挿入されない。 変数の宣言を強制する設定した後は、モジュール内のコードに変数の宣言が何も記述されていない状態で変数を使用するとエラーが発生する。 変数の宣言を強制をする設定は、一度設定すると、Excelを終了しても設定が保持される。 変数の宣言を強制する設定は、VBEの[ツール]メニューから[オプション]をクリックし、[オプション]ダイアログボックスを開き、編集タブの[変数の宣言を強制する]チェックボックスを「レ」にすることで設定できる。 None 34. __________,__________ 以下の選択肢のコードや、条件のときに実行すると「エラー」となるものを選択肢の中から1つ解答しなさい。 ActiveWorkbook.SaveAs Filename:=”C:\User\Test.xlsx”指定の場所にアクティブブックは未保存の状態で、本コードを実行した。保存時に保存先の場所に同名のファイル名はないものとする。 指定の場所にブックは未保存の状態で、ActiveWorkbook.SaveAs Filename:=”C:\User\Test.xlsx” のコードを2回実行した。保存時、保存場所に同名のファイル名はないものとする。 ActiveWorkbook.Save…上書き保存を実行するアクティブブックは、一度保存済みである。 指定の場所にブックは未保存の状態で、ActiveWorkbook.SaveAs Filename:=”C:\User\Test.xlsx”のコードを2回、 実行後以下の「置き換えますか?」というメッセージがでて「いいえ」あるいは「キャンセル」ボタンを選択した。 None 35. __________,__________ 以下のVBAのステートメントに関する説明として、正しいものを1つ解答しなさい。 Subステートメントは、プロシージャの始まりを定義するために使用する。 For…Nextステートメントは、値を計算するために使用する。 Ifステートメントは、変数を宣言するために使用する。 Dimステートメントは、条件分岐を行うために使用する。 None 36. __________,__________ 以下の選択肢の中で、キー操作で複数のシートを選択する操作として、正しいものを1つ解答しなさい。 :複数の連続しないシートの選択 :連続するシートの選択 複数の連続するシートを選択するには、Altキーを押しながらシート見出しをクリックする。 複数のシートを選択するには、シート見出しを右クリックする。 複数のシートを選択するには、シート見出しをドラッグする。 複数の連続しないシートを選択するには、1つ選択状態のシートがある状態でCtrlキーを押しながらシート見出しをクリックする。 None 37. __________,__________ 次のコードは、実行すると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列目の文字列内の空欄の位置を見つけ、 見つけた文字列の位置の先頭からの文字数に2を足し算した位置 以降の文字列を、全て代入した。 2列目セルに、1列目の文字列内の空欄の位置を見つけ、空欄より後ろの2文字を代入した。 2列目セルに、1列目の文字列内の空欄の位置を見つけ、空欄を含め2文字を代入した。 2列目セルに、1列目の文字列内の空欄の位置を見つけ、 見つけた文字列の位置の先頭からの文字数に3を足し算した位置 以降の文字列を、全て代入した。 None 38. __________,__________ 次のコードはパブリック定数Aとローカル定数Bに数値を定め、メッセージを表示するマクロである。空欄に入る適切な語句を解答しなさい。 Option Explicit Public A As Integer = 100 Sub Exam1() 「上記空欄と同じ」B As Integer = 300 MsgBox A+B End Sub 39. __________,__________ 次のコードはシートから別のシートへセルをコピーするマクロである。なおアクティブシートはシートの一番左端にある「sheet1」である。 このマクロの説明として、正しいものを選択肢の中から1つ解答しなさい。 Sub Exam1() Sheets(“sheet1”).Range(“A2”).Copy _ Sheets(“sheet3”).Range(“A2”).Offset(1) End Sub マクロ実行後、セルのコピーが実行されシート名「sheet2」のセル番号B2へコピーされる。 マクロ実行後、アクティブシートに変更はない。 マクロ実行後、アクティブシートはシート名「sheet3」になる。 ブックやシートを指定してもアクティブシート以外のセルにコピーはできない。 None 40. __________,__________ 次のマクロを実行した時に、メッセージボックスに表示される値は【 ① 】である。 空欄に入る値として適切なものを、選択肢の中から1つ解答しなさい。 Sub Exam1() Dim A As Double A = Range(”A2”) MsgBox Int(A) End Sub 726 725.00 725 725.97 None