こんにちはstackoverflowのコミュニティ、
私は別の1つのワークシートからデータを取得するために、マクロを使用していますが、私は、「Microsoft Accessデータベースエンジンのエラーを受信し続けるオブジェクトを見つけることができませんでした「Sheet1の$ ''私は、参照されているファイルがSheet1を持ち、パスが正しいことを確認しています。問題は、複数の参照ファイルが同じブックに作成され、後で個別のファイルとして保存されることです。だから私が参照しているファイルの1つを開くと、Sheet2343(Sheet1)と表示され、問題が発生すると思います - マクロはSheet1を探していますが、Sheet2343しか見つからないためエラーメッセージを返します。以下は私が使用しているコードです。誰でも、回避策を提案できますか?
ありがとうございます!
Sub Pull_Data()
Dim rsData As ADODB.Recordset
rsFile$ = ThisWorkbook.Path & "\" & Sheet1.Range("C1") & ".xlsx"
strConn$ = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & rsFile & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes"";"
rsSQL$ = "SELECT * FROM [Sheet1$]"
Set rsData = New ADODB.Recordset
rsData.Open rsSQL, strConn, , adOpenUnspecified, adLockUnspecified
Sheet1.Range("F4").CopyFromRecordset rsData
End Sub
Let's say 'Sheet2343'をコピーする必要がありますか?または、明示的にSheet1を持つファイルのみ?ファイルには1枚しかありませんか?シートには、シートの一意の識別子として機能するユニークなタイトルがありますか? – Sgdva
したがって、各ファイルにはSheet1というワークシートが1つしかないので、マクロを調整して参照されているワークブックのシートからデータを取り出すことができます。ありがとう! – mamuka21
シッダースの答えを使って実際のシート名を見つけることができます:http://stackoverflow.com/questions/14982990/iterate-through-excel-worksheet-names-when-office-not-installed-using-vb6 –