構文
構文は以下の通りです。
解説
Activateメソッドを使用して指定したワークブックをアクティブにします。引用符で囲まれた「ワークブック名」には、アクティブにする対象のワークブックの名前を指定します。たとえば、「Book1.xlsx」という名前のワークブックをアクティブにする場合は、次のように書きます。
WorkbooksオブジェクトはExcelのワークブックのコレクションを表し、ワークブックを管理するためのさまざまな機能を提供します。Activateメソッドは、その中の特定のワークブックをアクティブにするためのものです。
使い方
WorkbooksのActivateの使い方を具体的な例で説明します。まず、以下のようなワークブックがあるとします。
ワークブック1:Sales.xlsx
ワークブック2:Expenses.xlsx
ワークブック3:Profit.xlsx
ワークブック2(Expenses.xlsx)をアクティブにするには、次のようなコードを書きます。
これにより、ワークブック2がアクティブになります。以降、ワークブック2に対してさまざまな操作が可能になります。
プログラミング例
例として、以下のようなワークブックがあるとします。
ワークブック1:Data.xlsx
ワークブック2:Chart.xlsx
ワークブック1(Data.xlsx)にデータが入っており、ワークブック2(Chart.xlsx)にはグラフを作成したいとします。以下のコードを使って、データをコピーしてからグラフを作成します。
Dim chartObject As ChartObject
Workbooks("Data.xlsx").Activate
Sheets("Sheet1").Range("A1:B10").Copy
Workbooks("Chart.xlsx").Activate
Sheets("Sheet1").Range("A1").PasteSpecial
Set chartObject = Sheets("Sheet1").ChartObjects.Add(Left:=100, Top:=100, Width:=400, Height:=300)
Set chart = chartObject.Chart
chart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B10")
End Sub
この例では、まず「Data.xlsx」をアクティブにし、その後、指定の範囲(A1:B10)をコピーします。次に、「Chart.xlsx」をアクティブにし、コピーしたデータを貼り付けます。最後に、ChartObjectを作成し、指定の範囲のデータを元にグラフを作成します。
まとめ
WorkbooksのActivateは、操作対象となるワークブックを明示的に指定することができます。複数のワークブックを扱う場合や特定のワークブックをアクティブにする必要がある場合に便利な機能です。是非活用してみてください。