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

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

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

Sub シートに転記2()
'テーブル内容を転記する基本形その2
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")

'接続
With myCon
  .Provider = "Microsoft.Jet.OLEDB.4.0"
  .Open FileName
End With

With myRS
  '対象テーブルを参照、転記、閉じる
  .Open myTbl, myCon
  myRng.CopyFromRecordset myRS
  .Close
End With

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

End Sub

実行結果