🍊
ExcelでSQLを使ってデータを抽出するマクロ
初めに
ExcelでSQLを使ってデータを抽出するマクロを作りました
データ
データは下記の画像です。
実装したソースコード
実装したソースコードは下記です
Sub sql_01()
'DB接続変数
Dim cn As ADODB.Connection
'レコード変数
Dim rs As ADODB.Recordset
'ファイル名とSQL変数
Dim File_Name, Sql As String
'カーソル行変数
Dim CurRow As Integer
File_Name = ThisWorkbook.FullName 'DBのフルネーム。尚、このブック上(ThisWorkbook.FullName)でもOK
CurRow = 1
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Provider = "MSDASQL"
cn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & "DBQ=" & File_Name & "; ReadOnly=True;"
cn.Open
Sql = "SELECT name,groups,dates FROM [Sheet1$] WHERE groups='乃木坂46' "
rs.Open Sql, cn, adOpenStatic
Do Until rs.EOF
Sheets("Sheet5").Cells(CurRow, 1).Value = rs!Name
Sheets("Sheet5").Cells(CurRow, 2).Value = rs!groups
Sheets("Sheet5").Cells(CurRow, 3).Value = DateValue(rs!dates)
rs.MoveNext
CurRow = CurRow + 1
Loop
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
実行した結果
実行した結果は下記のとおりです。
最後に
ExcelでSQLを使ってデータ抽出したい方は挑戦してみてください。
Discussion