トップ > 学習するには > サンプル問題 > サンプル問題:Excel VBA スタンダード

サンプル問題:Excel VBA スタンダード

Excel VBAスタンダードは、Office製品のバージョン2010から2016までを網羅したExcelのVBAスキルを測定します。
プロパティやメソッドなど、Excel VBAの基本文法を理解してベーシックレベルよりも高度なマクロを記述・読解する能力を診断します。
スタンダードレベルで診断するスキルには、ベーシックレベルの内容をより深めた知識に加えて、配列、検索とオートフィルター、並べ替え、テーブル操作、エラー対策などが含まれます。

この科目の試験概要をみる

サンプル問題

サンプル問題1

イミディエイトウィンドウでは実行できないステートメントはどれか。次の中から1つ選びなさい。

  1. ?Range("A5").Value
  2. MsgBox "Hello!"
  3. Dim x As Integer
  4. For i = 1 To 10:total = total + i:Next i:Print total

サンプル問題2

次のような2つのプロシージャを同一の標準モジュール上に作成した。「M_Proc」プロシージャの実行結果はどうなるか。次の中から正しいものを1つ選びなさい。

Sub M_Proc ()
    Dim a As Long
    a = F_Proc(3)
    MsgBox a
End Sub

Function F_Proc(Optional x As Long = 5) As Long
    F_Proc = x * 2
End Function
  1. 6
  2. 9
  3. 10
  4. 実行時エラーが発生する

サンプル問題3

次のプロシージャはセルA1の値に応じてメッセージを表示するものである。セルA1の値が3未満だったら「A」と表示させたい。このとき、【 1 】に入る適切な命令を解答欄に入力しなさい。

Sub Sample()
    Select Case Range("A1").Value
        Case 【 1 】
            MsgBox "A"
        Case 5
            MsgBox "B"
        Case 7 To 9
            MsgBox "C"
        Case Else
            MsgBox "該当なし"
    End Select
End Sub

サンプル問題4

次の図のように、メッセージボックスに[はい]ボタン、[いいえ]ボタンおよび情報メッセージアイコンを表示したい。このとき、【 1 】に入る命令はどれか。次の中から正しいものを1つ選びなさい。
Excel VBA スタンダード サンプル問題5

Ret = MsgBox("処理時間は約3分です。処理を開始しますか?", 【 1 】)
  1. vbYes + vbNo + vbInformation
  2. vbYesNo + vbInformation
  3. vbYesNo , vbInformation
  4. vbYesNo & vbInformation

サンプル問題5

プロシージャの中で文字列型のデータを3つ使いたい。要素数3の配列を宣言するとき、【 1 】に入る適切な命令を解答欄に入力しなさい。ただし、配列の名前は「myArray」とする。

【 1 】 As String

サンプル問題6

次のプロシージャは、引数で受け取ったユーザー名と現在の日時を「C:¥LoginLog.txt」に追記するものである。このプロシージャ実行時にエラーが発生したときには、エラー番号とその内容をメッセージボックスに表示したい。このとき、【 1 】に入る適切な命令を解答欄に入力しなさい。

Sub Sample(UserName As String)
    On Error GoTo ErrHandl

    Open "C:\LoginLog.txt" For Append As #1
    Print #1, UserName & vbTab & Now
    Close #1
    Exit Sub
    
ErrHandl:
    MsgBox "エラー番号:" & Err.Number & vbCrLf & _
     "エラー内容:" & Err.【 1 】
End Sub

サンプル問題7

次の表の中から、C列が空白の行だけを抽出するコードはどれか。次の中から正しいものを1つ選びなさい。
Excel VBA スタンダード サンプル問題7

  1. Range("A1").AutoFilter 3, ""
  2. ActiveSheet.AutoFilter 3, ""
  3. Range("A1").AutoFilter "C", ""
  4. ActiveSheet.AutoFilter "C", ""

サンプル問題8

次の表から、ネイティブ講師が担当するコースの数(B列に◯マーク)を数えて、メッセージボックスに表示したい。このとき【 1 】に入る適切な命令を解答欄に入力しなさい。
Excel VBA スタンダード サンプル問題8

Sub Sample()
    Dim cnt As Long
    cnt = 【 1 】.CountIf(Range("B:B"), "◯")
    MsgBox "ネイティブ講師のコース数は " & cnt & " コースです"
End Sub

サンプル問題9

次の表から、コース名に「トラベル」を含むコースを検索し、その行を削除したい。このとき【 1 】に入る適切な命令を解答欄に入力しなさい。なお、コース名の検索には部分一致検索を用いることとする。
Excel VBA スタンダード サンプル問題8

Sub Sample()
    Dim Target As Range
    Set Target = Range("A:A").Find(What:="トラベル", Lookat:= 【 1 】)
    If Target Is Nothing Then
        MsgBox "見つかりませんでした"
    Else
        Target.EntireRow.Delete
    End If
End Sub