質問: excel vba 検索マクロについて 検索マクロを作成したいのですが条件が多すぎて 作成できません。 詳しい方、ご教授お願いします。 『やりたいこと』 ”まとめ”シートの『b5』のセルに”元機械no”を記入した状態で検索ボタンを押すと 以下の処理が開始(記入がないときはメッセージにて報告&noがないときもメッセージにて報告) 1”貼付データ”シート『d3』セルから『b5』の ”元機械no”を検索し そこの製品品番を集計する(同じ製品番号は集約したい=ダブリはなし) 2集計した製品品番別での月生産数の合計数を各月ごとで集計 3集計した製品品番別での収容数の最大数を集計 4集計した製品品番別での日 生産数を2月・3月・4月で比較した時の最大数を集計 5 1~4を集計した上で2月生産数の多い順でソートをかけたい。 以上です。 たくさん条件があるので自分の力量ではこんな複雑なコードはかけません。 詳しい内容は添付資料参照下さい。 お手数おかけしますが宜しくお願いします。
回答: こんばんは >自分の力量ではこんな複雑なコードはかけません。 内容を知らない者が一読しても、さっぱり理解できませんでした。 多分、細かく調べて、コツコツやればできるのでしょうけれど... ということで、複雑さをなくしてしまえば、ご自分で対処できるのではないかと思い、手順は少しだけ長くなりますが、手順を追いさえすればできそうな方法を示しておきます。 (複雑なら、分解して単純にしましょう!!) 抽出するのは一つのnoに合致するデータだけだと思いますので... 1)新規シートを作成 2)新規シートに、該当noのデータだけをそのままの行で抽出 3)2)のシートで、n列をキーにしてソート 4) 〃 で最大数量の列を追加作成し値を算出 5) 〃 不要な列を削除 6) 〃 列を入れ替えて求める順にする 7) 〃 結果を、「まとめシート」へコピペ 8)2)のシートを削除 上記の手順で、ご質問の内容は実現できるものと推測します。 1~8)に分割した個々の処理は、単独であれば決して複雑ではありませんので、質問者様にも楽勝で作成できることと思います。 手順は少々長いですが、1)から順に作成してゆけば、それぞれの段階で結果を確認することができますので、デバックもしやすいであろうと思います。 必ず、それぞれの段階で実行・チェックを行うのが肝要かと思います。 前までの処理ができたら、次の段階の処理を作成するというふうに、順に追加作成してゆくことで、いつの間にか「複雑だった」ものが作成できているという次第です。 (5)、6)の処理はまとめて処理したほうが、効率的かもしれません) ※ ほとんど内容を理解できていませんが、何かのご参考にでもなれば。