Excel VBA ベーシック 模擬問題 模擬試験

Excel VBA ベーシック 模擬問題 第4章 第10問

現在開いているブックが複数ある場合において、ブック名「Total」シート名「Sheet1」のセルに値を代入するマクロとして正しいものを選択肢から1つ解答しなさい。

なおブックはすでに一度保存済みである。

 

1.

Sub Exam1()

 WorkBooks("Total.xlsx").Sheets("Sheet1").Range("B5") = "Excel"

End Sub

 

2.

Sub Exam1()

 WorkBook("Total.xlsx").Sheets("Sheet1").Range("B5") = "Excel"

End Sub

 

3. Sub Exam1()

 WorkBook("Total.xlsx").Sheet("Sheet1").Range("B5") = "Excel"

End Sub

 

4.

Sub Exam1()

 WorkBooks("Total.xlsx").Sheet(1).Range("B5") = "Excel"

End Sub

 

正解

1

 

解説

【4章 VBAの構文】

【コレクションとブックやシート名を使い指定する】

ブック、シートの名前を使用したコレクションの構文:

構文

コレクション.("拡張子を含むブック名やシートの名前")

・オブジェクト複数形s ("名前")

保存済みブックの場合・・・WorkBooks.("拡張子を含むブック名")

新規作成した未保存のブックの場合・・・WorkBooks.("ブック名")、保存していませんので拡張子は確定していません。ですので拡張子は記述しません。

シートの場合・・・Sheets("名前")、WorkSheets("名前")

 

現在開いているブックが複数ある場合において、ブック名「Total」シート名「Sheet1」のセルに値を代入するマクロとして正しいものを選択肢から1つ解答しなさい。

なおブックはすでに一度保存済みである。

 

1. Sub Exam1()

 WorkBooks("Total.xlsx").Sheets("Sheet1").Range("B5") = "Excel"

End Sub

正しい。

名前の記述やコレクションが正しく記述されています。

 

2.

Sub Exam1()

 WorkBook("Total.xlsx").Sheets("Sheet1").Range("B5") = "Excel"

End Sub

誤り。

Workbooksコレクションの複数形の記述が誤っています。

 

3. Sub Exam1()

 WorkBook("Total.xlsx").Sheet("Sheet1").Range("B5") = "Excel"

End Sub

誤り。

WorkbooksコレクションとSheetsコレクションの複数形の記述が誤っています。

 

4.

Sub Exam1()

 WorkBooks("Total.xlsx").Sheet(1).Range("B5") = "Excel"

End Sub

誤り。

Sheetsコレクションの複数形の記述とシート名の記述が誤っています。(1)だとエクセルが自動で番号をふったシート番号1の意味になります。