以下のコードはセルの値を取得し、マクロが書かれているブックから複数のファイルを一つずつ開くマクロである。【 ① 】に入る適切な語句を答えなさい。
Sub Exam1()
Dim i As Long
For i = 2 To 6
Workbooks. Open _
"C:¥Local¥” & 【 ① 】. Sheets(1).Cells(i, 1) & ".xlsx"
Next i
End Sub
正解
【 ① 】thisworkbook
解説
新たにブックを開く度に、そのブックがアクティブブック、開いたシートがアクティブシートと変化します。
そのような中では、ActiveWorkbookを記述すると変化に対応できません。マクロが記述されているブックは常に固定されているThisWorkbookと指定して正常に動作させることが必要となります。
[コード解説]
Sub Exam1()
Dim i As Long
' カウンタ変数iを宣言しています。
For i = 2 To 6
' セル範囲の2行目から6行目までを順番に処理します。
Workbooks.Open _
"C:\Local\" & ThisWorkbook.Sheets(1).Cells(i, 1) & ".xlsx"
' マクロが書かれているブック(ThisWorkbook)のシート1から
' セル(i, 1)の値を取得し、その値に基づいてファイルパスを組み立て、
' 指定されたExcelファイルを開いています。
Next i
' ループの終了を示します。
End Sub
スポンサーリンク
スポンサーリンク