SQLを使ってデータ操作をする | カメレオンのVBA

カメレオンのVBA

VBAの私的メモ書き

Sub test()
'VBAエディタ - ツール - 参照設定 - Microsoft ActiveX Data Objects 2.8 Library 要チェック



'画面の更新を止める
Application.ScreenUpdating = False


'↓↓↓ADO↓↓↓
Dim myCn As New ADODB.Connection
Dim myRs As New ADODB.Recordset
Dim myFile As Variant

'myFile に読み込むデータの保存先を設定する(適宜変更必要)
'(今回は設定シートのA1セルにアドレスがあるとする)
myFile = ThisWorkbook.Sheets("設定").Cells(1, 1).Value

With myCn
.Provider = "Microsoft.Ace.OLEDB.12.0"
.Properties("Extended Properties") = "Excel 12.0;HDR=NO" 'HDRがNOなら、一行目からデータが始まっていると判断する
.Properties("Data Source") = myFile
.Open
End With
'※excel2007以降はMicrosoft.Ace.OLEDB.12.0を使用します※

'SQL文(適宜変更必要)
'[ $]内はシート名を設定する
Set myRs = myCn.Execute("SELECT * FROM [Sheet1$]")

'データシートの...
With ThisWorkbook.Sheets("データ")
.Cells.Clear '以前抽出したデータを削除する
.Cells(2, 1).CopyFromRecordset myRs 'A2セルにSQLで抽出したデータを取り込む
'フィールドの項目作成
  For x = 0 To myColMux
   .Cells(myRow, x + 1).Value = rs(x).Name
  Next
End With

  rs.Close
  cn.Close
End Sub