- ベストアンサー
エクセルでクエリー
最近エクセルのVBAでDAOを使うと、アクセスのテーブルを読み込んだり出来ることを知りました。 この機能を使えば、エクセル上でアクセスでのクエリーと同じことが出来るのではないかと思って色々試してみましたが、いまひとつうまくいきません。 例えば、 シート1にあるデータ(1行目から全てデータ)を A列でグルーピングしてB列の合計をだし B列の合計が0を超えるレコードを シート2に貼り付けるといったことは可能でしょうか? サンプルのコードか参考となるホームページ、本などありましたら教えてください
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- WEBクエリを処理していくVBAについて
初めまして。 ExcelのVBAについての質問です。 WEBクエリを用いて、データを回収したいのですが まだVBAを勉強したてで、作りたいものがあるのに 作れず困っています。 sheet1 A列 B列 あああ http://aaaaa.co.jp/aaaa.html いいい http://aaaaa.co.jp/bbbb.html うううう http://aaaaa.co.jp/bbbb.html というものがあり このB列のURLを上から順番にWEBクエリによってデータを得て 「新しいシート」に貼り付け この新しいシートのシート名を、A列の対応する行の名前で順番に付けていきたいです。 aaaa.html → 「あああ」シート bbb.html → 「いいい」シート という感じです。 この処理を何回か続けていくVBAを教えていただきたいです。 宜しくお願い致します。
- 締切済み
- Excel(エクセル)
- Access複数のクエリをExcelの1シートに出力
お世話になります。 Accessのクエリ結果をVBAでExcelへ出力をしたいと思っています。 内容としては例えば、「Q_aaa」「Q_bbb」「Q_ccc」というクエリの結果をExcel に出力したいのですが、別々のシートではなく、ひとつのシートにまず「Q_aaa」 を出力し、その次の行から「Q_bbb」を、またその次に「Q_ccc」を…という動き をさせたい思っています。 なお、それぞれのクエリ結果のレコード数は決まっていません。 サンプルコード、参考サイト、もしくは考え方でもお教え頂ければ幸いです。 宜しくお願い致します。
- 締切済み
- オフィス系ソフト
- ExcelからAccessのクエリを呼び出したい
約20,000レコードほどのデータを一気にExcelのVBA上の選択SQLでEditとUpdateで処理しようと思ったのですが、一気に処理できるレコード数に制約があるようでエラーになりました。 Access内のクエリだとOKみたいですがExcelからAccessのクエリを呼び出す方法がわかりません。 どうしたらいいのでしょうか? よろしくお願いします。 バージョンは2002です。
- 締切済み
- オフィス系ソフト
- エクセルVBAとWEBクエリに関する質問です
まったくの初心者ですが、エクセルのVBAとWebクエリを駆使して、 大量(1000強)のWebページから商品情報を エクセルへ入力していくプログラムを作成したいと考えています。 やりたいことは (1)エクセルのA列にurlを1000個並べ (2)プログラムを実行すると、上から順にurlへ自動でアクセス (3)各ページの商品情報を取得(テーブルデータ)し、エクセルに入力していく 例)B列:商品名、C列:商品番号、D列:通常価格、E列:カラー展開、F列:サイズ展開 という具合に、次々と自動で商品情報を入力していくプログラムです。 エクセルのVBAとWebクエリを活用して以上のようなことをするのは可能でしょうか? VBAにてLinkの取得や、Webクエリにてテーブルデータの取得ができるのは わかったのですが、自動でアクセスして、表ではなく区切り線ごとにデータを並べたいのです。 もし可能でしたらどのようにすれば可能になるか教えていただけないでしょうか。 不可能だとした場合は、何か可能になる方法をご教唆いただけないでしょうか。 お手数ですが、ご回答よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- エクセル複数シートをアクセスで1つのテーブルに。
エクセルのシートで1000行程度のものが5シートあります。それぞれは数字列に文字が入っている行もあってエクセルでの必要データ抽出に手間がかかってしまいます。「エクセル5シートをアクセスでリンクさせクエリで特定文字行を削除し、テーブル構造が整ったところでテーブル作成を行う」までをアクセスで自動化したいと思っています。アクセス側でエクセル5シートを一括して合体させる事は出来ないものでしょうか?宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- アクセスクエリについて質問です。
アクセスクエリについて質問です。 A列:得意先コード B列:売上額 でA列2行:A社大阪 B列2行:\10,000 A列3行:B社東京 B列3行:\20,000 A列4行:A社京都 B列4行:40,000 のテーブルがある時、クエリで A社 50,000 B社10,000 というデータを抜きたいのですがどうしたらいいのかがわかりません。A社の営業所単位での売上額を合計し、なおかつ 営業所名のないA社とする。簡単なようで難しく、困っています。どなたかわかる方いらっしゃいましたら、御教授お願いします。
- ベストアンサー
- オフィス系ソフト
- アクセス 複数クエリ⇒エクセルの各シートに
MS Access と MS Excelとの連携テクニックについて、 教えてください。 アクセスで、クエリA・クエリB があるとすると、 マクロ・VBAを使用して、 これらを、エクセルファイル(ファイル名は任意)の 各シートとして、Sheet1,Sheet2としてエクスポートしたいのですが、 可能でしょうか?
- ベストアンサー
- オフィス系ソフト
- アクセスの外部データ(エクセル)の取り込み。VBA
アクセスの外部データ(エクセル)の取り込み。VBAの質問です。 アクセス2003 エクセル2003 不要な行・列がある場合の外部データ取り込みVBAを教えて下さい。 今は、エクセルで削除して取り込んでいます。 アクセスに「得意先リスト」というテーブルを作っています。 コード(テキスト型)主キー 名称(テキスト型) フリガナ(テキスト型) 郵便番号(テキスト型) 住所1(テキスト型) 住所2(テキスト型) TEL(テキスト型) FAX(テキスト型) エクセルブック[得意先リスト.xls] シートは「リスト形式」のみです。 1~4行は不要。 5行目が見出しです。 A~AZ列までデータがあります。 必要な列は、B・C・D・F・G・H・M・N列です。 セルの書式設定は「文字列」です。 [アクセス エクセル インポート 行 列 削除]などでサンプルVBAを探しましたが見つからなかったので質問させて頂きました。 申し訳ありませんが、教えて下さい。
- ベストアンサー
- その他(データベース)
- アクセスのクエリーについて
アクセス初心者です。 例えばテーブル1に以下のようなデータがあります。 A 鈴木 佐藤 もう1つテーブル2があります B 1 2 そこでクエリーを作成し テーブル1とテーブル2の列を1つにまとめます。この時テーブル1とテーブル2に関連性はなく、リレーションシップはつけません。そうすると A B 鈴木 1 鈴木 2 佐藤 1 佐藤 2 となります。 イメージ的に A B 鈴木 1 佐藤 2 というように単純に列をつけたいのです。エクセルなら簡単に出来ますがアクセスでは出来ないでしょうか。
- 締切済み
- Windows XP
- クエリの作り方はこれでよいでしょうか
Access2010で以下のことをやりたいのですが、助言ください。 ・元データはExcelに入っている。 ・sheet1のA列のみに抽出用の番号(商品番号000000001とか)が入力されています。(数千行) ・sheet2はデータベースで、A列に商品番号(こちらは複数同じものあり)、B列に商品名、C列に国名、D列に価格・・~その後J列まで情報が入っています。(行数は1万行以上・・10万行近かったです) 【やりたいこと、現状】 ・sheet1に入っている商品番号でsheet2のデータベースに抽出をかけて、Excelに抽出結果シートを作りたい。 ・最終的にはExcelファイルにしたい。 ・途中経過では現在Accessを使っている。 ・Sheet1に商品番号があっても、Sheet2にないものがある。データベースにない場合も抽出結果シートには反映させたい。(商品番号だけ抽出結果に表示させて、右の列はすべて空欄にしたい) 【やったこと】 ・sheet1をT抽出条件、sheet2をTデータベースとしてAccessにインポートしてテーブルを作りました。 (T抽出条件はA列しかないので、主キーは商品番号、TデータベースはID列を追加して主キーに) ・リレーションを商品番号でかけて、クエリを作成(Q結果) →クエリで使った項目 T抽出条件から商品番号 TデータベースからはIDと商品番号を除くものすべて。 このQ結果をExcelにエクスポートし、完成! と思ったのですが、これだとsheet1にはあって、sheet2にはない商品番号の情報が載ってきません。 sheet1にはあるけど、sheet2にはない情報も載せたいのです。 どのようにしたらよいでしょうか。 また、上記の方法で問題はないでしょうか。 結果が数千も出るので確かめようがありません。 どこがおかしければご指摘ください。 また、確かめ方などもありましたら、ご教授ください。 よろしくお願いします
- 締切済み
- その他MS Office製品
- WRC-2533G52のPOWERランプが紫色から緑色にならない理由について教えてください。
- エレコム株式会社の製品、WRC-2533G52のPOWERランプが紫色から緑色にならない理由を教えてください。
- 質問です。WRC-2533G52のPOWERランプがなぜ紫色から緑色にならないのか教えてください。
補足
遅れましたが、エクセルのシートをデータベースとして扱うことになんとか成功しました。 初心者の作ったものなので見せるほどではないですが、参考までにこんなコードになりました。 C:\DB.xlsは曜日のフィールドとデータのフィールドがあり、曜日毎のデータの合計値を計算します。 アクセスとの違いは$をつけないとテーブルにならないことや、OpenDatabaseのオプションに"Excel 8.0をいれることぐらいでしょうか。 Sub Main() Dim strDB As String Dim strTbl As String Dim daoDB As DAO.Database Dim daoRs As DAO.Recordset Dim strSQL As String strDB = "c:\DB.xls" 'DBパス strTbl = "DATA$" 'テーブル名 'エクセルファイルをデータベースとして読み込み Set daoDB = DBEngine.Workspaces(0).OpenDatabase(strDB, False, False, "Excel 8.0;HDR=Yes;") strSQL = "SELECT [DATA$].曜日, Sum([DATA$].D1) AS D1の合計 FROM [DATA$] GROUP BY [DATA$].曜日;" Set daoRs = daoDB.OpenRecordset(strSQL) 'フィールド名を取得 I = 0 For Each FLD In daoRs.Fields Sheets(2).Cells(1, 1).Offset(0, I) = daoRs.Fields(I).Name I = I + 1 Next '取得したレコードセットをシートに貼り付け Sheets(2).Range("a2").CopyFromRecordset daoRs daoRs.Close daoDB.Close Set daoRs = Nothing Set daoDB = Nothing End Sub