
ExcelVBA 操作対象となるブックを指定し、そのブックをアクティブにして操作できる状態にする。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
目次
Excel VBA ブックをアクティブにして操作する利用
以下のようなシーンで利用されます。
1.複数のブックを開いている場合に、特定のブックを操作対象として指定する必要がある。
2.別のブックからデータを取得または出力したい。
3.処理の途中で対象ブックを切り替える必要がある。
Excel VBA ブックをアクティブにして操作|使い方とポイント
Workbooks オブジェクトの Activate メソッドを使用して、指定したブックをアクティブにします。
1.ブックが開いていることを確認
対象のブックが開いていない場合はエラーが発生します。事前にブックの存在を確認する必要があります。
2.アクティブ化のタイミング
必要な操作を行う直前にアクティブ化することで、意図しない操作を防ぎます。
3.フルパス指定の利用
同名のブックが複数開かれている場合、フルパスで正確に指定します。
Excel VBA ブックをアクティブにして操作するサンプルコード
Option Explicit
Sub ActivateWorkbook()
Dim wbName As String
wbName = "SampleWorkbook.xlsx" ' アクティブにするブックの名前
' ブックが開いているか確認してアクティブ化
On Error Resume Next
Workbooks(wbName).Activate
If Err.Number <> 0 Then
MsgBox "指定したブックが開いていません: " & wbName, vbExclamation
Else
MsgBox "ブックをアクティブにしました: " & wbName, vbInformation
End If
On Error GoTo 0
End Sub
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
すべての開いているブックを確認してアクティブ化
Option Explicit
Sub ActivateSpecificWorkbook()
Dim wb As Workbook
Dim targetName As String
Dim found As Boolean
targetName = "SampleWorkbook.xlsx" ' 対象のブック名
found = False
' 開いているブックをループして確認
For Each wb In Workbooks
If wb.Name = targetName Then
wb.Activate
MsgBox "ブックをアクティブにしました: " & targetName, vbInformation
found = True
Exit For
End If
Next wb
' ブックが見つからない場合のエラー処理
If Not found Then
MsgBox "指定したブックが開いていません: " & targetName, vbExclamation
End If
End Sub
フルパスでブックを指定する
Option Explicit
Sub ActivateWorkbookByFullPath()
Dim fullPath As String
fullPath = "C:\Users\User\Desktop\SampleWorkbook.xlsx" ' フルパスを指定
' ブックをフルパスで開いてアクティブ化
On Error Resume Next
Workbooks.Open fullPath
Workbooks("SampleWorkbook.xlsx").Activate
If Err.Number <> 0 Then
MsgBox "ブックを開けませんでした: " & fullPath, vbExclamation
Else
MsgBox "ブックをアクティブにしました: " & fullPath, vbInformation
End If
On Error GoTo 0
End Sub
On Error Resume Nextを使用して、エラーが発生した場合にスムーズに処理を続行できます。ブック名だけでなく、フルパスを使用することでより確実な指定が可能です。アクティブ化後に、シートやセルの操作を簡単に行えます。
アクティブ化を適切に活用することで、複数ブックを扱う自動化処理が効率的になります。
操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。
1. Workbooks("SampleWorkbook.xlsx").●●●
2.対象のブックが開いていない場合は●●●が発生します。事前にブックの存在を確認する必要があります。
3.必要な操作を行う●●●にアクティブ化することで、意図しない操作を防ぎます。
4.同名のブックが複数開かれている場合、●●●で正確に指定します。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。