エクセルでVBAを組んでいます。
Aシート・Bシートにデータがあり、それをSQLで集計し、
Cシートに出力をしたいのですが、
『リンクされているExcelのワークシートを表示するための接続が切断されました。』
というエラーが出て、解決しません。
(調べてみましたが、似たような例がなく解決には至りませんでした・・・。)
どなたかご教示お願い致します。
Private Sub CommandButton1_Click()
Dim dbCon As Object
Dim dbCols As Object
Dim dbRes As Object
Dim strSQL As String
Dim sh1 As Worksheet
Set sh1 = Worksheets("Cシート")
Set dbCon = CreateObject("ADODB.Connection")
dbCon.Provider = "Microsoft.Jet.OLEDB.4.0"
dbCon.Properties("Extended Properties") = "Excel 8.0"
dbCon.Open ThisWorkbook.FullName
strSQL = ""
strSQL = strSQL & "SELECT *"
strSQL = strSQL & vbCrLf & "FROM [Aシート$] LEFT JOIN [Bシート$] ON [Aシート$].NO= [Bシート$].NO"
Set dbRes = CreateObject("ADODB.Recordset")
dbRes.Open strSQL, dbCon, adOpenKeyset, adLockReadOnly
sh1.Range("A1").CopyFromRecordset dbRes
dbRes.Close
Set dbRes = Nothing
dbCon.Close
Set dbCon = Nothing
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
直接の回答にはなっておりませんが、自ブックをADOで処理=必然的に開いているブックをADOで処理となりますが、メモリリークが発生してトラブる様ですので、方針を変更された方が良いと存じます。
リンク先では、自ブックのコピーを別名保存してそちらから抽出するという回避策にも言及されています。
http://support.microsoft.com/kb/319998/ja
なお、Microsoft.ACE.OLEDB.12.0プロバイダでは対策されている様です。
回答ありがとうございます。
お礼が遅くなり申し訳ありません。
諸事情でなるべく自ブックのみでマクロを組みたいのです。
QueryTableオブジェクトが、ADO・DAOの代わりになるのを知ったので、
それを試してみて、ダメだったらコピー参照の方法を取りたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
高校三年生の合唱祭で何を歌いましたか?
大人になると大人数で合唱する機会ってないですよね。 思い出すと、高校三年生の合唱祭が最後でした。 そこで、みんなの思い出の合唱曲を知りたい!
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
MS Accessからのデータベース接続について
その他(コンピューター・テクノロジー)
-
-
4
このISAMでは、リンクテーブル・・
その他(データベース)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
ACCESS 重複データを1つだけ表示したい(初心者です)
Access(アクセス)
-
7
エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。
Access(アクセス)
-
8
VBAでアクセスDBからデータの取得について
Visual Basic(VBA)
-
9
[Excel]ADODBでNull変換されてしまう
Visual Basic(VBA)
-
10
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
11
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
12
Excel実行時エラー[80004005]について
その他(プログラミング・Web制作)
-
13
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
14
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
15
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
16
Excelの入力規則で2列表示したい
Excel(エクセル)
-
17
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
18
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
19
エクセルマクロエラー「'Cells'メソッドは失敗しました。'_Global'オブジェクト」について
Excel(エクセル)
-
20
EXCEL-VBAにてADOのレコードセットを使用している際のメモリの開放について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
【ExcelVBA】マクロの入ったシ...
-
エクセル シート毎 連続で曜日...
-
エクセルで、シートの名前を変...
-
エクセルでブック内の倍率がバ...
-
エクセルの2つのシートを並び...
-
エクセルのシート連番の振り直し
-
エクセルのシー名を二段表示に...
-
エクセル マクロ 選択した複...
-
Excelに画像を張り付けると文字...
-
EXCELの図形(テキストボックス)...
-
特定のシートのみ再計算させな...
-
特定のシート名のシートのみ除...
-
Excelで入力シート、印刷シート...
-
アクセスからエクセルのシート...
-
エクセル、別のシートの表をポ...
-
エクセルで複数のシートに画像...
-
エクセル 改ページプレビュー...
-
エクセルでシートの数が多い場合
-
VectorWorksのワークシートにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
ハイパーリンクでジャンプした...
-
特定のシートのみ再計算させな...
-
エクセルで複数のシートに画像...
-
【ExcelVBA】マクロの入ったシ...
-
EXCELの図形(テキストボックス)...
-
エクセルのシー名を二段表示に...
-
エクセルのシート連番の振り直し
-
ワークシートそのものの色を変...
-
EXCELの「シートの見出し」のフ...
-
Accessのテーブルを既存のExcel...
-
Wordで差し込み印刷時に表示す...
-
エクセル、特定のシートにパス...
-
EXCELで存在しないシート...
-
エクセルの2つのシートを並び...
-
アクセスからエクセルのシート...
-
指定したシート名以外を非表示...
-
エクセル、別のシートの表をポ...
-
エクセルで誤ってF11キーを押す...
おすすめ情報