Excel ワークブックで "テーブル" データを参照するには、いくつかの方法があります。
- ワークシート全体。
- ワークシート上のセルの名前付き範囲。
- ワークシート上の無名のセル範囲。
詳細については、Microsoft サポート技術情報の記事257819の「コードを使用して Excel データを選択する」セクションを参照してください。
最も簡単な方法は、データを別のシートに保持し、列名を最初の行 (セル A1 から開始) に配置し、実際のデータを行 2 から開始することです。

テストするために、そのワークブックを指す「odbcFromExcel」という名前のユーザー DSN を作成しました...

...そして、次の VBScript を実行して接続をテストしました。
Option Explicit
Dim con, rst, rowCount
Set con = CreateObject("ADODB.Connection")
con.Open "DSN=odbcFromExcel;"
Set rst = CreateObject("ADODB.Recordset")
rst.Open "SELECT * FROM [Sheet1$]", con
rowCount = 0
Do While Not rst.EOF
rowCount = rowCount + 1
If rowCount = 1 Then
Wscript.Echo "Data row 1, rst(""LastName"").Value=""" & rst("LastName").Value & """"
End If
rst.MoveNext
Loop
Wscript.Echo rowCount & " data rows found."
rst.Close
Set rst = Nothing
con.Close
Set con = Nothing
結果は
C:\Users\Gord\Documents\__tmp>cscript /nologo excelTest.vbs
Data row 1, rst("LastName").Value="Thompson"
10 data rows found.
Excel 接続の問題が解決されることを願っています。
最後のコメントとして、Excel では「数秒」かかり、Access では「約 20 ~ 25 分かかる」ことをしている場合、Access を非常に非効率的に使用していると強く思われます。方法ですが、それは別の質問のトピックです (それを追求したい場合)。
編集
データを Excel ワークブックに INSERT したい場合は可能ですが、Excel ODBC 接続のデフォルト設定は「読み取り専用」であるため、「オプション>>」ボタンをクリックしてそのチェックボックスをオフにする必要があることに注意してください。

それが完了したら、次のコード...
Option Explicit
Dim con
Set con = CreateObject("ADODB.Connection")
con.Open "DSN=odbcFromExcel;"
con.Execute "INSERT INTO [Sheet1$] (ID, LastName, FirstName) VALUES (11, 'Dumpty', 'Humpty')"
con.Close
Set con = Nothing
Wscript.Echo "Done."
...実際に、提供されたデータを使用して Excel シートに新しい行を追加します。
ただし、「スニファ」アプリを Excel ODBC DSN に向けたときに選択できる「テーブル」がないという問題にはまだ対処していません。
行 1 に列見出しを含む Excel シートを作成し、それらの列全体を選択して、Excel の「定義名」を作成することもできます。次に、「スニファー」アプリがそれを選択可能な「テーブル」名として認識するかどうかを確認します。
FWIW、私は自分の Excel ワークブックのように名前を定義しましmyTable
た。=Sheet1!$A:$C
SELECT * FROM [myTable]
C:\Users\Gord\Documents\__tmp>cscript /nologo excelTest.vbs
Data row 1, rst("LastName").Value="Thompson"
1048576 data rows found.
ご覧のとおり、最初の「レコード」は正しく取得されましたが、有効なデータの末尾を認識せず、シート内の約 100 万行を読み取り続けました。
Excel を "ODBC データベース" として使用することはあまり良い考えではないという他のコメントに同意するので、これ以上の努力をするつもりはないのではないでしょうか。
以前の Access の使用の試みがそれほど満足のいくものではなかった理由を調べてみることを強くお勧めします。前に言ったように、Access とのやり取りで何かが本当に悪い仕事をしているように思えます。