VBA-1 2017/12/4 執筆

ADOを使用してDBからExcelにデータを引くOracleのADOを使いこなす方法

ADOを使用したデータ取得方法(ざっくり)
    '定義
    Dim adoConn As ADODB.Connection Dim adoRS As ADODB.Recordset

    'Oracle接続
    Set adoConn = New ADODB.Connection
    adoConn.ConnectionString = "DSN=
    ****;UID=****;PWD=****;" adoConn.Open

    Dim mySQL As String mySQL = "
    SELECT ******** "

    'SQL発行
    Set adoRS = New ADODB.Recordset Set adoRS = adoConn.Execute(mySQL)

    'A1にべたっと貼り付ける
    sheet1.Range("A1").CopyFromRecordset adoRS

A1から列と行にデータがあるだけ貼り付ける (この方法では列名は貼り付けられない)
※赤字を適当な分に変更して使用下さい。

実行すると定義エラーになる

ここでよくはまるのが
ソースをコピーし、データ取得マクロ実行しようとすると下記のエラーが表示される。

VBA-1-1
コンパイルエラー:ユーザ定義型は定義されていません。

Dim adoCon As ADODB.Connection
この定義名でエラーになる

エラーの原因は単純で参照が抜けている為。
解決方法は以下。

VBA-1-2
ツール → 参照設定

VBA-1-3
「Microsoft ActiveX Data Objects 2.8 Library」にチェックをいれ参照を追加するだけ。
※2.8の部分はバージョンによって変わる。