Excel VBA スタンダードは、プロパティやメソッドなど、Excel VBAの基本文法を理解してベーシックレベルよりも高度なマクロを記述・読解する能力を診断します。
スタンダードレベルで診断するスキルには、ベーシックレベルの内容をより深めた知識に加えて、配列、検索とオートフィルター、並べ替え、テーブル操作、エラー対策などが含まれます。
問題1
イミディエイトウィンドウでは実行できないステートメントはどれか。
次の中から1つ選びなさい。
A
解答を表示する
3
問題2
次のような2つのプロシージャを同一の標準モジュール上に作成した。
「M_Proc」プロシージャの実行結果はどうなるか。次の中から正しいものを1つ選びなさい。
Sub M_Proc()
Dim A As Long, B As Long
A = 5
B = F_Proc(3)
MsgBox B
End Sub
Function F_Proc(X As Long)
F_Proc = A * X * 2
End Function
A
解答を表示する
1
問題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
A
解答を表示する
Is < 3
問題4
次のプロシージャはオブジェクト変数AにセルA1を指定し、文字の色を赤にするものである。オブジェクト変数を破棄するため、【1】に入る値はどれか。次の中から正しいものを1つ選びなさい。
Sub Sample()
Dim A As Range
Set A = Range("A1")
A.Font.ColorIndex = 3
Set A = 【1】
End Sub
A
解答を表示する
2
問題5
プロシージャの中で文字列型のデータを3つ使いたい。
要素数3の配列を宣言するとき、【1】に入る適切な命令を解答欄に入力しなさい。
ただし、配列の名前は「myArray」とする。
【1】 As String
A
解答を表示する
Dim myArray(2)
問題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
A
解答を表示する
Description
問題7
次の表の中から、C列が空白の行だけを抽出するコードはどれか。
次の中から正しいものを1つ選びなさい。
A
解答を表示する
1
問題8
次の表から、ネイティブ講師が担当するコースの数(B列に◯マーク)を数えて、メッセージボックスに表示したい。このとき【1】に入る適切な命令を解答欄に入力しなさい。
Sub Sample()
Dim cnt As Long
cnt = 【1】.CountIf(Range("B:B"), "◯")
MsgBox "ネイティブ講師のコース数は " & cnt & " コースです"
End Sub
A
解答を表示する
WorksheetFunction
問題9
次の表から、コース名に「トラベル」を含むコースを検索し、その行を削除したい。
このとき【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