• 締切済み

ACCESS2000で作成したマクロ

ACCESS2000で作成した抽出マクロをそのままコピーするなどしてエクセルで使用することは可能でしょうか?もしできるならやり方をおしえてください。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

mdbファイルを をExcelを開くには 参照だけなら、こんな塩梅でも・・ご参考までに Sheetのイベントで処理しています。 Private Sub Worksheet_Change(ByVal Target As Range)   Dim cn As Object   Dim rs As Object   Dim strSql As String   Dim i As Long, j As Long      If Target.Address <> "$A$1" Then Exit Sub      Rows("3:3").Select   Range(Selection, Selection.End(xlDown)).Select   Selection.ClearContents   Range("A1").Select   Set cn = CreateObject("ADODB.Connection")   Set rs = CreateObject("ADODB.Recordset")   cn.Open "Driver={Microsoft Access Driver (*.mdb)};" _     & "DBQ=c:\DB1.mdb;"   'c:\DB1.mdb は適宜変更を      strSql = "select * from 施設台帳テーブル" _       & " where 施設名 like '%" & Target.Value & "%' order by 施設名"   rs.Open strSql, cn, 0, 1      For j = 0 To rs.fields.Count - 1     Cells(2, j + 1) = rs.fields(j).Name   Next      Application.ScreenUpdating = False '  Range("A3").CopyFromRecordset rs 'なぜか不安定   Do Until rs.EOF     i = i + 1     For j = 0 To rs.fields.Count - 1       Cells(i + 2, j + 1) = rs.fields(j)     Next     rs.movenext   Loop   Application.ScreenUpdating = True      rs.Close: Set rs = Nothing   cn.Close: Set cn = Nothing End Sub

dmx_hiro
質問者

お礼

ご回答ありがとうございました!!早速、参考にさせて頂きます。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> テキストボックスに入力した施設名(含む文字)をコマンドボタンをクリックする > ことで数あるデータより抽出される(該当するデータのある行のみ残り、他は消える)感じです。 Excelのフィルタ機能を使えばいいのでは? テキストボックスとかコマンドボタンとかが必要なんですか?

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> ACCESS2000で作成した抽出マクロをそのままコピーするなどしてエクセルで使用することは可能でしょうか? 抽出マクロとは? クエリを実行させるマクロってことでしょうか? とりあえず、AccのマクロをExcelで使うことは無理です。 近いことであれば、Excelの機能を使ってできるかもしれません。 Accessのことを忘れて、何がしたいのか、具体的に説明してみては?

dmx_hiro
質問者

お礼

早速のご回答ありがとうございます。エクセルで作成した施設台帳(施設名・住所・電話番号・その他情報等)のデータが千件程度あります。その中から欲しいデータを施設名から引っ張り出すというものを作成できたらと思っております。イメージとしてはテキストボックスに入力した施設名(含む文字)をコマンドボタンをクリックすることで数あるデータより抽出される(該当するデータのある行のみ残り、他は消える)感じです。ACCESSを使い、このエクセルデータとリンクさせて抽出させるシステムを完成させたのですがACCESSの導入されていないパソコンで使用できず、ランタイムの入手もできなかったのでエクセルで同じようなものを作成したいと思っております。

関連するQ&A

  • マクロ Excelデータ Accessへ

    マクロでExcelのデータでAccessにテーブルを作成する方法を教えていただけないでしょうか? Accessに接続して加工したテーブルのデータをExcelにコピーすることはできたのですがExcelのデータをAccessにコピーするマクロがわかりません。 どなたかお知恵を拝借できないでしょうか。 よろしくお願いいたします。

  • ACCESS2000で作成したデータをACCESSのインストールされていないPCで使いたい

    PC初心者ですが、ACCESS2000でやっとの思いでマクロを使いボタンで検索(抽出)するデータを完成させました。会社で共有し、みなさんにも利用してもらおうと考えていたのですが、残念なことに他のPCはoffice2002か2003ばかりでACCESSが入って無かったのです。CDもありません。何とかしてお金をかけずに全てのPCから私が作成したデータを使用できるようにしたいのですが...。わかる方お教えください。ACCESSではどうしても出来ないということであれば、エクセルでマクロを使い同じようなものが出来ますか?よろしくお願い致します。

  • Accessデータベース&マクロについて

    Accessデータベース&マクロを勉強しようと思っています。 まずデータベースを作成出来るようになってから、最終的には、マクロを作成出来るような所までいきたいです。 Excelではマクロは作成出来ます。 どのような勉強方法がいいでしょうか。Accessに詳しい方教えて頂けませんか。

  • アクセスのマクロについて

    初心者で、恥ずかしい質問ですが、本当に悩んでします。 よろしければどうか教えてください!! アクセスクエリの抽出結果をエクセルにエクスポートしたく作業し 「保存済のエクスポート操作」に保存したのですが、どのようにすれば 作業ボタンにむすびつけられますか? 私にもできるマクロで、作業できるようにするには 、 どんな項目を使ってマクロを作ればいいですか? もしかしてマクロでは無理なことなのでしょうか。 ご指導のほどよろしくお願します!!

  • access2007マクロの作成について

    access2007初心者です。 現在、access2007にて顧客管理をしております。 顧客テーブルなるものがあり、別に入力フォームとして新規作成や修正などができるフォーム(単票)を作成してあります。 そこで、顧客テーブルで行(レコード)を選択すると、その行に対応した入力フォームが開くという設定にするには、どのようなマクロを作成すればよろしいでしょうか?マクロでできるのかどうかもわかりません。 どなたか教えていただけないでしょうか?

  • マクロのコピーのやり方について

    マクロのコピーのやり方について エクセル2003で作成したマクロが組まれているシートをエクセル2007の新しいシートにコピーしたらマクロが正常に機能しません。どのようにコピーすればエクセル2007のシートに張り付くのでしょうか。 今現在はエクセル2007を使用しているので2003ではなく2007バージョンで変換しようとしたらできなかったので、新しいシートにコピーして貼り付けという作業をしているところです。

  • アクセスのマクロ

    アプリケーションを作りたいと思います。 エクセルのマクロ(VBA)はエラーが出るとコードが見えてしまいますが、 アクセスはどうなのでしょうか。うわさによれば見えないとのことですが・・・ その分、下手にエクセルで作るより、アクセスで作ったほうがいいのかと。 また、エクセルの場合は、マクロを含んでいると、起動した時、マクロを有効にするかというメッセージが表示されますが、アクセスはどうなのでしょうか。 アプリケーションを作るときそのようなメッセージは邪魔ですよね。

  • Access、マクロの最後に最適化を入れられる?

    Access2003を使用しています。 マクロの最後に最適化を組み込むことは可能でしょうか? マクロの内容は、 1、昨日のデータ抽出に使用した作業用テーブル内のデータを削除する 2、本日のデータをインポートしてくる 3、1で空にしたテーブルに、2のデータを追加クエリで流し込む 4、2でインポートしてきたデータ(テーブル)を削除する です。 この後、「5、データベースを最適化する」を入れてマクロを終わらせたいのです。 インポートしてくるテーブルは8個あり、1テーブルに20万を超すデータが入っているため、インポート、追加をやっているうちに、データベースの大きさが1,126,528KBにもなってしまいます。 この後、この大容量のテーブルを使って、大容量のテーブルを作成しているうちに・・・・データベースは更に大きくなってしまい困っています。 マクロの最後に「ここで一旦最適化」を入れられないでしょうか? このデータベースを使用するのは自分で使用するものでないため、「マクロ終了後ツールボタンで最適化する」ということが出来ません。 また、VBAはわからないので・・・出来ればマクロなどで対応できると助かります。 どなたか詳しい方、教えてください!

  • access 2000のマクロビルダで困っています

    access2000のマクロビルダでアドバイスお願いします。 とあるフォームで 「a」というテキストボックスがあります。 条件検索用のボックス「A」を設けて、「検索」というコマンドボタンを作成しました。 このボタンを マウスボタンクリックした時に、マクロビルダで、条件を設定し 抽出するというものです。 これは希望通りに抽出できたのですが、 次に、同じフォームで「b」というテキストボックスを設けて、条件検索用ボックスで「B」を作成しましたが、 これを、「検索」という一つのコマンドボタンで「a」と「b」2つの検索条件を満たす、リストをマクロビルダで作成したいのですが、 やり方がどう頑張っても分かりません。 できれば、マクロビルダで、もし無理なら、VBAでアドバイスを頂ければ大変ありがたいです。 どうかよろしくお願いします。

  • AccessやExcelのマクロができるようになりたいのです

     私はAccessやExcelでデーターベース、住所録や顧客管理を作成して使うことはできるのですが、いまいちマクロを構築して更に使いやすくすることができません。  AccessやExcelのマクロはVisual Basicという言語のようですが、それは初級シスアドを勉強すればできるようになるのでしょうか?別に資格にこだわっているわけではありませんが、資格を取るという目的に向かって勉強した方がはかどるので・・・。  また、わかりやすい参考書などありましたら、合わせて教えて下さい。おわかりの方、よろしく御指導お願いします。