| すぐマク YNxv9cz55 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| [実行時エラー'1004'アプリケーション定義またはオブジェクト定義エラー]が発生するが? |
|
|
|||
拙著「ExcelVBAマクロ組み方講座 プロの定番・裏技・合わせ技[編]」をご購読、ありがとうございます。
145ページの合わせ技(1)は「トランザクションからマスターファイルにないデータを抽出して追加するマクロ」で、左図のように、マスターとトランスの2つのファイルがある前提で、 トランスからマスターにないデータをアドバンスフィルタで抽出して、 そのデータをマスターの末尾に追加します。 (マクロは別のブックに保存されています) ご質問は、マスターとトランスが同一ブック内にある場合、どうすればよいかですね。 ![]() こちらのページで「改造のご質問は有料になる場合があります、 別途ご相談ください」とご案内していますが、それほど大掛かりな改造ではないので、このままお答えを続けます。 が、私には、あなたが改造された内容が、「同一ブック内にマスターシートとトランスシートが有り開いている状態です」とだけしか分かりません。 つまり、そのことに関連するマクロコードをどのように変更したのかが不明です。 よって、ひとまず、ブックをあなた仕様に作り直してから、マクロコードを下記のとおり修正し、保存してください。 P.146の4行目 Const ブック名m = "Book名.xls" (あなたが付けたブック名にします) P.146の5行目 Const ブック名t = "Book名.xls" P.146の7行目 Const シート名t = "Sheet2" (あなたが付けたシート名にします) P.146の18行目のコード「マスターとトランスを開く」をコメントアウトするか削除する くれぐれも、本のマクロはトランスを読み取り専用で開いて、そのSheet1上でマスターにないデータを抽出し、上書き保存しないで閉じるので、トランスのデータは元どおり残ります。 しかし、あなたのように同一ブック上で行うと、トランスのデータは元どおり残りませんので、マクロを一度実行したあとで再実行すると、ご質問文にある実行時エラーになるかと思います。 修正後のマクロを試して、その結果をご連絡ください。 注意して進めてください。 お待ちしています。 |
| http://www.happy500z.com/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |