アプリ版:「スタンプのみでお礼する」機能のリリースについて

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$が存在致しませんとエラーになります
わかるかた教えてくれませんでしょうか

参照設定はしてあります

質問者からの補足コメント

  • うーん・・・

    Set objRS = myCon.Execute(strSQL) 黄色反転
    1つ以上の必要なパラメータ-の値が存在しません。
    どういう意味でしょうか
    ラストチャンスを下さい。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/12/03 16:31
  • へこむわー

    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から"$"を取りました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2017/12/03 17:09

A 回答 (4件)

>シート名 は Sheet1$ にしてあります。



説明不足でしたね。

Sheet名は『Sheet1』で [] と $ はテーブルの名称を明確化するための決め事です。
なのでSheet名が『あいうえお』なら、[あいうえお$] です。
この回答への補足あり
    • good
    • 0

No.1の補足に対して。



>strSQL = strSQL & " FROM [Sheet1$]" '★シート名に注意!

ここの件ですけど、実際ここを弄る必要としたらデータのあるBookのSheet名を"Sheet1"と入れ替えて後ろに"$"をつけるんですが・・・・
或いは

>シート名 は Sheet1$ にしてあります。

のSheet名から"$"を取るとか。

もしかしてSheet名を書き換える際に、FROM と [~$] の間の半角スペース消しちゃったとか?
この回答への補足あり
    • good
    • 0

一旦元に戻って。



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つ以上の必要なパラメータ-の値が存在しません。
これでしたか?
    • good
    • 0

> [Sheet1$]Sheet1から"$"を取りました。


BookのSheet名からですよね?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!