別のブックからシートを取り込む

Dim ws as worksheet
Dim wb as workbook

SN = "シート名"
BN = "ブック名"
Bpath = "ブックのPath"

'マクロ実行ブックに目的のシートがあれば消す
For Each ws In ThisWorkbook.Worksheets
If ws.Name = SN Then ws.Delete
Next ws

'目的のブックを開いているか判定
For Each WB In Workbooks
If WB.Name = BN Then fl = True
Next WB
'開いてたらコピーして取り込む、閉じてたら取り込んで閉じる
If fl Then
Workbooks(BN & ".xlsx").Sheets(SN).Copy Before:=ThisWorkbook.Sheets(1)
Else
Set WB = Workbooks.Open(Bpath & "\" & SN & ".xlsx")
WB.Sheets(SN).Move Before:=ThisWorkbook.Sheets(1)
End If

.