Sub mon()
Dim myCon As New ADODB.Connection, FileName As String
Dim objRS As ADODB.Recordset
Dim strSQL As String
FileName = "C:\Users\fff\Desktop\ttt.xlsx"
strSQL = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties=Excel 8.0;" & _
"Data Source=" & FileName & ";" '
myCon.Open strSQL
strSQL = ""
strSQL = strSQL & " SELECT 社員No,商品コード,SUM(売上) AS 売上合計"
strSQL = strSQL & " FROM [Sheet1$]" '★シート名に注意!
strSQL = strSQL & " WHERE 商品コード = 'A-1010'"
strSQL = strSQL & " GROUP BY 社員No,商品コード,売上;"
Set objRS = New ADODB.Recordset
Set objRS = myCon.Execute(strSQL)
With ActiveSheet '★ActiveSheetを使用
.Range(.Range("A2"), .Range("A2").SpecialCells(xlLastCell)).ClearContents
For i = 0 To objRS.Fields.Count - 1
.Cells(1, i + 1).Value = objRS.Fields(i).Name
Next
.Range("A2").CopyFromRecordset objRS
End With
myCon.Close
Set myCon = Nothing
End Sub
シート名 は Sheet1$ にしてあります。
Sheet1$が存在致しませんとエラーになります
わかるかた教えてくれませんでしょうか
参照設定はしてあります
No.1
- 回答日時:
>シート名 は Sheet1$ にしてあります。
説明不足でしたね。
Sheet名は『Sheet1』で [] と $ はテーブルの名称を明確化するための決め事です。
なのでSheet名が『あいうえお』なら、[あいうえお$] です。
No.2
- 回答日時:
No.1の補足に対して。
>strSQL = strSQL & " FROM [Sheet1$]" '★シート名に注意!
ここの件ですけど、実際ここを弄る必要としたらデータのあるBookのSheet名を"Sheet1"と入れ替えて後ろに"$"をつけるんですが・・・・
或いは
>シート名 は Sheet1$ にしてあります。
のSheet名から"$"を取るとか。
もしかしてSheet名を書き換える際に、FROM と [~$] の間の半角スペース消しちゃったとか?
No.3ベストアンサー
- 回答日時:
一旦元に戻って。
https://oshiete.goo.ne.jp/qa/10101750.html
Dim conStr As String
を宣言し
conStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Extended Properties=Excel 12.0 Xml;" & _
"Data Source=" & FileName & ";"
myCon.Open conStr
で開く。
データのあるBookの項目名は『社員No・商品コード・売上』は存在してますよね?
あとエラー名は今回も
>1つ以上の必要なパラメータ-の値が存在しません。
これでしたか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
商品コード番号を入力すると商...
-
「マスタ」と「テーブル」の違...
-
アクセス2000のフォームに...
-
3つのテーブルから条件に一致し...
-
Access2002 2つのテーブルのマ...
-
ACCESS 一つのフィールドに複...
-
複数テーブルの不一致クエリに...
-
accessで移動平均する方法
-
行方向のデータを横に並べる
-
エクセル
-
Access 1レコードずつcsvで出力...
-
ACCESS2007 フォーム 「バリア...
-
SQL2000サーバーのテーブル容量...
-
SELECT時の行ロックの必要性に...
-
INSERTにおいてロック処理は必要か
-
Accessのリンクテーブルについて
-
順位を求めるsql文について
-
ACCESS 一番最新の日付の金額...
-
主キーの取得
-
Accessでの排他制御
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
PLSQLの識別子エラー
-
主キーの変更
-
Accessでフィールドを比較した...
-
SQL 2つのテーブルとSUBSTRING...
-
続.ORACLEのSELECTのソートに...
-
行方向のデータを横に並べる
-
下記のsqlで取得されるレコード...
-
VIEWでテーブルの集計結果...
-
update文で質問です。 下記の条...
-
[Oracle] UPDATE分の副問い合わ...
-
片方だけ抽出する方法(SQL)
-
自分自身への矢印
-
連番のMin, Maxを取得したい
-
Accessユニオンクエリーで2つ...
-
日付の最大値を検索条件にする方法
-
Inner join と Left joinの明...
おすすめ情報
Set objRS = myCon.Execute(strSQL) 黄色反転
1つ以上の必要なパラメータ-の値が存在しません。
どういう意味でしょうか
ラストチャンスを下さい。
strSQL = strSQL & " SELECT 社員No,商品コード,SUM(売上) AS 売上合計"
strSQL = strSQL & " FROM [Sheet1$]" '★シート名に注意!
strSQL = strSQL & " WHERE 商品コード = 'A-1010'"
strSQL = strSQL & " GROUP BY 社員No,商品コード,売上;"
Set objRS = New ADODB.Recordset
Set objRS = myCon.Execute(strSQL)が黄色反転
FROM [Sheet1$] FROM 半角です。 [Sheet1$]Sheet1から"$"を取りました。