Accessのaccdbからデータを取得してシートに表示するマクロです。
まず、Accessでこのようなデータが格納されていたとします。

テーブル名:T_Users
このデータを次のシートに格納してみます。

1行目には列名をあらかじめ入力しています。
では、実際のコードは次のようになります。
Sub GetMdbData()
Dim cnn As New ADODB.Connection
Dim cmd As ADODB.Command
Dim rst As ADODB.Recordset
Dim i As Integer
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\work\access\test.accdb"
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cnn
.CommandText = "SELECT ID, ユーザーID, 名前, 備考 FROM T_Users"
.CommandType = adCmdText
End With
'SQLを実行
Set rst = cmd.Execute
i = 2
While rst.EOF = False
'セルにデータを格納
Cells(i, 1).Value = rst!ID
Cells(i, 2).Value = rst!ユーザーID
Cells(i, 3).Value = rst!名前
Cells(i, 4).Value = rst!備考
'レコードを移動
rst.MoveNext
i = i + 1
Wend
rst.Close
Set rst = Nothing
Set cmd = Nothing
cnn.Close
Set cnn = Nothing
End Sub
実行結果

スポンサーリンク