• 締切済み

ACCESSからEXCELの部分インポート

ACCESSでのデータが、次の様になっている場合,EXCELからある部分(=セル たとえばA1部分)に製造番号(必ず1文字以上と数字からなる番号)を入力すると図面番号(A2部分に表示),数量(A3部分に表示)がでるようにするにはどのようにすればよいでしょうか。 なおACCESS EXCELは、2000で,windowは、2000です。 ACCESSデータ(テーブル) 製造番号 図面番号  数量 P123456 abcdef 20 A58974 abcxyz 15 マクロ,VBA超初心者なのに会社からプログラム依頼を受けて困っています。できるだけ詳しく教えて下さると助かります。

みんなの回答

回答No.3

簡単な事は、マクロの記録で出来ると思うけど・・・ 今回のはそれだけじゃ出来なさそうですね。 Excelで Ctrl+F11ボタンを押すと、マクロの処理を書くための画面が出てくると思いますよ。。 後は、プログラムを書かないと出来ないかなぁ・・・ 私は、会社で時々外部に依頼を出して、作ってもらったり、やり方を教えてもらったりしていますよ。 http://okameinko.ddo.jp たぶん、ネットで検索したり、書籍でも出来そうなはしますけど。 ExcelからODBCでAccessに接続して、あとは、「VB 検索ワード」で検索していけば、ちょっとづつ進められそうだと思います・・・ 私もあまりわからないですが、、使えそうな所を少しずつ依頼したり、調べたりして、なんとかやっています。 

  • megxp
  • ベストアンサー率0% (0/0)
回答No.2

Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Dim rs As ADODB.RecordSet With Target If .Column = 1 Then Call connectDB Call CreateRs(rs,"SELECT 図面番号,数量 FROM ACCESSのテーブル名 & _ " WHERE 製造番号 = ' & .Value & "'") .Offset(0, 1).Value = rs.Fields("図面番号").Value .Offset(0, 2).Value = rs.Fields("数量").Value Call CloseDB End If End with End Sub

nogamike
質問者

補足

ご回答してくださってどうもありがとうございます。 ただ当方VBAの入門の勉強を開始したばかりで、今回のVBAを動かすことすらできない状態です。 マクロの実行程度は、できかけたところでなので、その程度まで下げて,噛み砕いて追加して教えてくださるようお願いいたします。

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.1

製造番号、図形番号、数量の3つをACCESSからEXCELエクスポート したいと言う事は良く判りますがACCESSのテーブル構造などの説明が ないと(説明出来ないからエクスポートできないのかな?)3つのを抽出する クエリを書いてEXCELへのエクスポートを実行して下さいとしか答えよう ないのでは(*^^*)

nogamike
質問者

補足

すみません、どこまで説明すればよいのかわからないのですが。 フィールド名は、製造番号,図面番号,数量。 データ型は、テキスト型,テキスト型,数値型。 フィールドサイズは、30,30,単精度浮動小数点。 あと不足するところを教えてください。 どこをどう説明すればよいのかわからないので、よろしくお願いします。 リレーションは、ないとします。 あくまで、accessに入っているデータは、いじらずに excel側の製造番号(A1)に入れると、A2には、図面番号,A3には、数量がでるようにしたいのです。

関連するQ&A

  • ACCESSでエクセルのインポート

    ACCESSでマクロを用いてタイトル行が付いているエクセルデータをタイトル行抜きでインポートをする方法を教えて下さい マクロのアクションのデータベース変換ではエクセルが選べなかたので・

  • Excel → Access データをインポート

    OS WinXP Pro SP2 Office 2000 SP3 はじめまして。 マクロ(Excel VBA)を記述しているExcelファイル(Xls_Macro.xls)とインポート用データのExcelファイル(Xls_Data.xls)は別々のファイルになっていて、マクロを実行するとExcelファイルとインポート用データのExcelファイルのデータをAccessファイル(Access.mdb)にインポートする仕組みを開発しています。 インポート用データのExcelファイル(Xls_Data.xls)をADOで接続しレコードセットでデータを取得し、Accessファイル(Access.mdb)もADOで接続しレコードセットの「.AddNew」でAccessファイル(Access.mdb)に更新しようと考えています。 この考え方で問題ないのでしょうか!? もっと簡単な方法があるという方や、何か良い方法をお持ちの方 いらっしゃいましたら、よろしくお願いいたします。

  • ACCESSからEXCELのマクロを実行

    ACCESSのデータをEXCELに落として、その後、EXCEL上でマクロを実行させたいのですが、可能でしょうか。 ACCESSのVBAでEXCELを操作することができるのは知っているのですが、EXCELの機能のマクロ(罫線を引いたり、始点―終点間に矢印を引いたり)などをしたいのです。 よろしくお願いします。

  • ExcelデータをACCESSへエキスポート

    ExcelデータをADOを使いACCESSへエキスポートしたいのですが、 データ型がちがうというエラーが出てエクスポートできません。 対処法を教えてください。 Excelシートの次のようなデータをAccessへエクスポートしようと しています。 A B C D E F G(列) 1 ID  番号 地域  客先  売上金額 種類 数量 2    K01 東京    a社  100,000    イ  4 3    K02 神奈川  b社  50,000 Excelシートの1行にフィールド名があり、レコードがA2:G3入って いるとします。Accessの売上テーブルにExcelのフィールドと同じ 順番のフィールド名があった時、Excel VBAにてADOを使いAccess にデータを貼り付けようとすると、データ型がちがうとエラー表示 が出てしまいます。A2:A3はAccessの自動発番機能を使うのでいつも 空です。又F3:G3はデータがこの例のように空の場合もあります。 Excel側もAccess側もフィールドのデータ型は同じにしたつもりです が、レコードが空があることがエラーの原因でしょうか。もしそうなら どう対処すればよいのでしょうか。

  • アクセスのデータをエクセルで編集したい

    アクセスのデータをエクセルで開き、データを更新したいのですが、 可能でしょうか? VBAやマクロを使えば可能ですが、視覚的に操作したいので、エクセル からmdbへリンクを作成するようなイメージです。

  • エクセルデータのインポート(アクセスへ)

    エクセルで作成したデータをアクセスに取り込む際、エクセルではレコード数が540なのに、アクセスでは557となってしまいました。 原因は、エクセル上で空白のデータも、インポートされてしまっているようです。エクセル上で空白の部分は、データがないものとしてインポートさせないようにするにはどうすればよいでしょうか。

  • Access2000のVBAでエクセルマクロ実行

    お世話になります。 Access2000のVBAでエクセルのマクロとアクセルのマクロを 交互に実行したいと思っております。 (1)エクセルのマクロ1を実行 (2)アクセスのマクロAを実行 (3)エクセルのマクロ2を実行 と交互に実行したいのです。 下記のサイトなどを参考に試みたのですが、 http://www.nurs.or.jp/~ppoy/access/access/acX005.html (1)を実行している途中に (2)が進んでしまいます。 どのようにすれば、(1)が終わってから(2)と、前の処理が 終わってから次の処理に進むことが出来るのでしょうか? Access2000のVBAから指示をかけたいので、 Access2000のVBAのコードで教えて頂ければと 思います。

  • ACCESS VBA マクロ  Excelのデータをインポートする(複数シート)

    ACCESSのVBAでEXCELのシートにあるデータをインポートしたいです。シートは複数あり、シート数は作業毎に一定ではありません。データの数もシート毎に違います。(項目(column数)は全部同じです) 手作業でインポートをすると、どのシートのデータをインポートするかウイザードで選択しますが、シート数が多いので一度に同じテーブルにインポートをするVBAを組みたいのです。(データ数が多いのでエクセルで一つのシートにまとめる事が出来ません。) シート数がその都度違うので変数を使ったりVBAでインポートするのかな?と思うのですが。。。 インポートするベースのテーブルは先に作ってあり、データをインポートする際にそのテーブルに追加する形にしたいと思っています。 excelのVBAは初心者ですがAccessでのVBAの経験がありません。 ACCESSでのマクロ、VBAを良くご存知の方がいらっしゃったら是非教えてください。どうぞよろしくお願いいたします。

  • エクセルのデータをアクセスのテーブルに移動入力する

    エクセルのデータをアクセスのテーブルに移動入力するVBA フォルダAにおいて、a1.xlsxというファイルがあり、 そのsheet1のセル(a,1)=1 A1が1 とします その値をアクセスのデータベース(これもフォルダAにあります)  b.accdbのテーブル1の フィールド1に入力したいときの エクセルマクロのVBAを御教示いただけると助かります さらに続けて フォルダAにおいて、a2.xlsxというファイルがあり、 そのsheet1のセル(a,1)=2 A1が2 とします その値をアクセスのデータベース上記と同じ  b.accdbのテーブル1の フィールド1に追加で入力したいときの エクセルマクロのVBA 以上わかると助かります よろしくお願いします win10 office365

  • Accessでインポートエラー(EXCELより)

    EXCELの社員データをACCESSへインポートするとき一部のレコードが反映されませんでした。 EXCEL>社員番号、氏名 の表をインポートしようとすると、    一部「社員番号」がインポートできない。   社員番号は二通りあります  1.社内の人間 数字8桁の番号  2.社外の人間 Guestxxx(X:数字) このうち、2がエラーで取り込めませんでした。 EXCEL上では、すべてセルの書式設定で「文字列」にしており、 ACCESS上では、データ型を「テキスト」にしています。 手入力でguest、、と入力はできました。 EXCEL>書式設定 と ACCESS>データ型は、そもそも別ものという感じもします。1の数字の社員番号がEXCEL上でテキストになっていないのでしょうか。。 ACCESS初心者です、知恵を拝借いただければ幸いに存じます。