ブックやシートを、オブジェクト変数に取得する
タイトルのサンプルマクロです。色々なケースで、ブックやシートをオブジェクト変数に入れる方法を記載しました。
Option Explicit
' ブックやシートを、オブジェクト変数に取得
Private Sub GetObject()
Dim wb As Workbook
Dim ws As Worksheet
' 新規ブック
Set wb = Workbooks.Add
' ブックを開く
Dim fullPath As String
fullPath = "C:\TEMP\Excel.xlsx"
Set wb = Workbooks.Open(fullPath)
' 開いているブックを取得
Dim fileName As String
fileName = "Excel.xlsx"
Set wb = Workbooks(fileName)
' 新規シート
Set ws = Worksheets.Add
' コピーしたシート
' 右端にシートをコピーする
Worksheets(1).Copy after:=Worksheets(Worksheets.Count)
' 右端のシートを、オブジェクト変数に入れる
Set ws = Worksheets(Worksheets.Count)
' シートを新規ブックにコピー
Worksheets(1).Copy
' アクティブブックを取得
Set wb = ActiveWorkbook
' ブックの最初のシートを取得
Set ws = wb.Worksheets(1)
End Sub
ブック・シートとも、Copyは、直接setできないので、工夫が必要です。