テーブルの内容を直接Excelシートに転記する

テーブル内容を転記する基本形その1

Recordsetオブジェクトで受け取り、CopyFromRecordsetメソッドで転記

Sub シートに転記1()
'テーブル内容を転記する基本形その1
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset, FileName As String
Dim myTbl As String, myRng As Range

'接続先のファイル、取込元テーブル、取込先を指定
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myTbl = "社員"
Set myRng = ThisWorkbook.Worksheets(1).Range("A1")

'接続
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName

'対象テーブルを参照
myRS.Open myTbl, myCon

'転記
myRng.CopyFromRecordset myRS

'Recordsetオブジェクトへの接続を閉じ、オブジェクトを破棄
myRS.Close: Set myRS = Nothing
'データベースへの接続を切断し、オブジェクトを破棄
myCon.Close: Set myCon = Nothing

End Sub