オデッセイの運営サイト一覧

Excel®️、Accessのマクロ・VBAのスキルを評価する資格VBAエキスパート

企業・教育機関の皆さまへ 試験会場を探す お問い合せ

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

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

この科目の概要を見る

サンプル問題

問題1

Q

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

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

A

3

問題2

Q

次のような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

  • 16
  • 29
  • 310
  • 4実行時エラーが発生する

A

1

問題3

Q

次のプロシージャはセル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

A

Is < 3

問題4

Q

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

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

A

2

問題5

Q

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

【1】 As String

A

Dim myArray(2)

問題6

Q

次のプロシージャは、引数で受け取ったユーザー名と現在の日時を「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

A

Description

問題7

Q

次の表の中から、C列が空白の行だけを抽出するコードはどれか。
次の中から正しいものを1つ選びなさい。

キャプチャ画面
  • 1Range("A1").AutoFilter 3, ""
  • 2ActiveSheet.AutoFilter 3, ""
  • 3Range("A1").AutoFilter "C", ""
  • 4ActiveSheet.AutoFilter "C", ""

A

1

問題8

Q

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

キャプチャ画面

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

A

WorksheetFunction

問題9

Q

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

キャプチャ画面

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

A

xlPart

サンプル問題一覧へ戻る

MENU