次のコードは、ブックを続けて開きメッセージをブック名を表示するマクロである。
以下の空欄に入る適切な語句を選択肢の中から解答しなさい。
・マクロ実行後、最後にアクティブ状態となるブックは【 ① 】である。
Sub Exam1()
Dim i As Long
For i = 2 To 5
Workbooks.Open "C:\Data\" & ThisWorkbook.ActiveSheet.Cells(i, 1) & ".xlsx"
Next i
MsgBox ActiveWorkbook.Name
End Sub
1.1.xlsx
2.2.xlsx
3.3.xlsx
4.total.xlsx
正解
4
解説
【4章 ファイルの操作】
【Openメソッド】
パスを指定したブックを開きます。
構文
Workbooks.Open "ファイルパス"
●本問題ではセルの値の順番で新たにブックを開く度に、そのブックがアクティブブック、
開いたシートがアクティブシートへと変化します。
・「1→2→3→total」と順番にブックを開きます。
最後のセルの値「total」と名前がついたブックがアクティブブックとなり、メッセージボックスにその名前が表示されます。
【コード解説】
Sub Exam1()
Dim i As Long
For i = 2 To 5
’①For…Nextステートメント 変数の開始値から終了値の間で繰り返し処理をする。
Workbooks.Open "C:\Data\" & ThisWorkbook.ActiveSheet.Cells(i, 1) & ".xlsx"
’指定したパス(C:\Data\)と、セルに入力された値を組み合わせて、ブックを開きます。
Next i
’⓵へ戻る。変数「i」の終了値まで繰り返し処理をする。
MsgBox ActiveWorkbook.Name
’Name プロパティでアクティブ状態のブックの名前を取得し表示する。
End Sub