Excel ブック上のデータを読み込む

Excel ブック上のデータを読み込む

Sub 任意のシートのデータを取得()
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset, FileName As String

'接続先のExcelファイル
FileName = ThisWorkbook.Path & "\xls\DataBook.xls"

'接続
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;" & _
           "Data Source=" & FileName

'「伝票一覧」シートの内容を読み込む
myRS.Open "[伝票一覧$]", myCon

'A1番地を基点に転記
Range("A1").CopyFromRecordset myRS

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub

任意のシート内容をRecordset オブジェクトで扱うには、「テーブル名」の代わりに次のように「シート名」を使用する。
[伝票一覧$]

元シートの1行目の内容(「フィールド名」に相当) や書式情報(「フィールドのデータ型」に相当)などを除いて転記される。

伝票一覧シート

実行結果