
Excel VBAスタンダードは、Office製品のバージョン2000から2010までを網羅したExcelのVBAスキルを測定します。
プロパティやメソッドなど、Excel VBAの基本文法を理解してベーシックレベルよりも高度なマクロを記述・読解する能力を診断します。
スタンダードレベルで診断するスキルには、ベーシックレベルの内容をより深めた知識に加えて、配列、ファイルの操作、OLE、ユーザーフォームの利用などが含まれます。

イミディエイトウィンドウでは実行できないステートメントはどれか。次の中から1つ選びなさい。
?Range("A5").ValueMsgBox "Hello!"Dim x As IntegerFor i = 1 To 10:total = total + i:Next i:Print total
次のような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 】に入る適切な命令を解答欄に入力しなさい。ただし、シート名の重複などのエラー処理は省略しているものとする。
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim strSheetName As String
strSheetName = InputBox("新しいシートの名前を入力してください")
If strSheetName <> "" Then
【 1 】.Name = strSheetName
End If
End Sub

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

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

Ret = MsgBox("処理時間は約3分です。処理を開始しますか?", 【 1 】)
vbYes + vbNo + vbInformationvbYesNo + vbInformationvbYesNo , vbInformationvbYesNo & vbInformation
プロシージャの中で文字列型のデータを3つ使いたい。要素数3の配列を宣言するとき、【 1 】に入る適切な命令を解答欄に入力しなさい。ただし、配列の名前は「myArray」とする。
【 1 】 As String

次のプロシージャは、セルのコンテキストメニューを追加するものである。セルの右クリックから[売上データ読み込み]を選択したとき、「Proc_Uriage1」プロシージャが実行されるように、コマンドを割り当てたい。このとき、【 1 】に入る適切な命令を解答欄に入力しなさい。
Sub Sample()
With Application.CommandBars("Cell").Controls.Add
.Caption = "売上データ読み込み"
.【 1 】= "Proc_Uriage1"
.Visible = True
End With
End Sub

次のプロシージャは、Cドライブにある「password.txt」ファイルを開き、1行目に記述されたパスワードをメッセージボックスに表示するものである。【 1 】に入る命令として最も適切なものを次の中から1つ選びなさい。ただし、「password.txt」ファイルの1行目にはパスワードを表す文字列のみが記述されているものとする。
Sub Sample()
Dim myPassword As String
Open "C:\password.txt" For Input As #1
【 1 】 #1, myPassword
MsgBox myPassword
Close #1
End Sub
ReadGetGet LineLine Input
次のプロシージャは選択されたセルの値をリストボックスに設定して、ユーザーフォームを表示するものである。【 1 】に入る適切な命令を解答欄に入力しなさい。ただし、リストボックスの名前は「ListBox1」、ユーザーフォームの名前は「UserForm1」とする。
Sub Sample()
Dim c As Variant
For Each c In Selection
UserForm1.ListBox1.【 1 】 c
Next
UserForm1.Show
End Sub

次のプロシージャは、引数で受け取ったユーザー名と現在の日時を「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
ErrHandl:
MsgBox "エラー番号:" & Err.Number & vbCrLf & _
"エラー内容:" & Err.【 1 】
End Sub