- 締切済み
EXCEL VBA 別ファイルのフィールドをコピー
EXCEL VBA初心者です。 有識者の方、ご教授願いします。 EXCELVBAで、別ブックのシートから特定のフィールドを特定の行までコピーしたいのですが、そのマクロを教えていただきたいのです。 例えば、基本となるブック「サンプル」のsheet1が以下のようだったとします。 A B C D E F・・・ _______________________ 1|番号 日付 企業名 電話番号 備考・・・ また、元となるブック「A」のsheet1が以下のようだったとします。 A B C D E F・・・ _______________________ 1| 2|作業一覧 3|コード 事業社名 開始年月日 チェック 備考・・・ 4|00122 ユースノウ 1978/12/21 あり 担当:森田 5|00335 路医ポット 2004/11/1 なし 会議依頼あり(3/4日 石田確認済み) ・・・ 行いたいマクロは、まず、「サンプル」のSheet1を開き、A2にアクティブセルを移動し、マクロを実行すると、 ダイアログボックスに「指定ファイルを選択してください。」と出て、通常のファイルを開くと同じような作業をし、「A」をしています。「次へ」コマンドボタンをクリックすると今度は、「番号」と対応するフィールドフィールド名を選択してください」と出て「A」の3行にあるフィールド名一覧から「コード」を選択し、実行をすると、次は「日付」と対応するフィールド名を選択してください。」と出て・・・あとは順々に「サンプル」にあるフィールドの対応するものを聞きます。そして実行をすると、00122からのレコードがコピーされる、というマクロです。 ちなみに、「サンプル」の電話番号のように、元のフィールドに同じようなフィールドがないものもありますし、逆に、「A」のチェックのように、コピーするひつようのない、フィールドもあります。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- TAKA_R
- ベストアンサー率32% (26/79)
私も初心者のようなものですが。。。 マクロ(vba)そのものはそれほど難しくないように思います。 が。 説明文を読んでいると、「それ本当にいるの?」みたいな仕様というか、操作が見受けられます。 例えば「次へ」コマンドボタンを押して、その次もフィールドを指定したら次に進めて・・・みたいな。 ボタンをひとつ押したら、自動でさくさく進もうよ、と手抜き好きな私は思ってしまいました。 例には無さそうですが、番号というのはなんでしょう。 フィールド名はすべてのブックで統一されていないのでしょうか。 それから「特定の行」を特定する手段は? とりあえず起動時から・・。 sheet1のイベントモジュールで、A列のセルから起動。 そこから先はユーザーフォームで作成。