gooドクター有料プランが1ヶ月間無料!

VBAについてご教授いただきたいです。
子育て奮闘中で毎月行っているデータ処理を自動化したく思っています。自分なりに学習しておりますが、VBA初心者のためどうしてもうまくいきません。
お詳しい方のお力を貸していただけますと大変助かります。

建物シートと機械シートと明細シートと処理済シートの4つのシートがあります。
建物シートと機械シートは明細シートの情報をそれぞれのシートにわけたものです。
明細シートにある商品名で各シートに分けています。発注番号は被ることはありません。
※やりたいことは下記となります。
①明細シートにある発注金額と建物シートと機械シートのB列にあるステータスが「処理済」になっているものに対して金額が一致しているかを確認し一致していたら、明細シートのE列の状態欄に「完了」と記載したい。
※金額が不一致のものがあればポップを表示させて作業を中止。できれば誤っているものが判別できれば嬉しいです。
②明細シートのE列に「完了」と記載があるものを処理済シートに行ごと切り取って貼り付けをしたい。
③建物シートと機械シートのB列にあるステータスが「処理済」と記載されているものを行ごと削除したい。

何卒宜しくお願い致します。

「VBA 金額一致を確認後にシートの移動と」の質問画像
gooドクター

A 回答 (4件)

マクロが大きいので、下記にアップしました。


こちらから、コピペしてください。
https://ideone.com/VL99jo

建物シートのシート名:建物
機械シートのシート名:機械
明細シートのシート名:明細
処理済シートのシート名:処理済
となっています。

マクロ実行後にシートの内容が更新されるので、
正しいことが確認できるまでは、バックアップをとってから、マクロを
実行してください。
データが正常であれば、添付図のようなメッセージが表示されます。
ここで、OKをクリックすると、実際に行の削除、行の移動が行われます。
キャンセルをクリックすると行の削除、行の移動は行われません。
金額の不一致、名前の不一致があった場合は、その旨表示し、処理を打ち切ります。
不明点があれば補足してください。
「VBA 金額一致を確認後にシートの移動と」の回答画像2
    • good
    • 0
この回答へのお礼

ご丁寧に分かりやすく、ご教授いただきありがとうございます。
私では全然ダメだったので、VBAが動いた時感動しました。
大変恐縮でございますが、金額の確認について1点教えて頂けますでしょうか。

建物(機械)シートと明細シートの金額が完全一致しておりますと処理が問題なく実行されます。
(例)Aビルの金額が明細と建物シートで一致する場合:建物シートのD列の合計金額が10,000円 明細シートのD列の発注金額が10,000円 
→問題なく動作いたします。

明細シートにAビルが2つある時(5,000円が2つ)で、合計10,000円。建物シートの合計金額が10,000円の場合、金額が不一致のためエラーとなってしまいます。
明細シートには複数の同じ商品名(Aビル)があり、合算して商品名(Aビル)ごとに各シートに合計金額を表示しているものが多く、明細の商品名の合計額と建物シートの商品名の合計額が一致するようにはできますでしょうか。
今のままでも十分お力を頂戴しており、大変申し訳ございませんが、ご教授いただけますと嬉しいです。
よろしくお願いいたします。

お礼日時:2021/09/20 18:13

修正版をこちらにアップしました。


https://ideone.com/OUZt8R
    • good
    • 0
この回答へのお礼

ありがとうございました。
大変助かりました。

無事に動かす事が出来ました。
感謝しかございません<m(__)m>

お礼日時:2021/09/20 22:19

No2です。


>明細シートには複数の同じ商品名(Aビル)があり、合算して商品名(Aビル)ごとに各シートに合計金額を表示しているものが多く、明細の商品名の合計額と建物シートの商品名の合計額が一致するようにはできますでしょうか。

Aビルを無条件に合計すると、うまくいかないような気がします。
Aビルで合計して良いかどうかの判断になるものはないでしょうか。
明細シートに
Aビル 5000・・・①
Aビル 3000・・・②
Aビル 4000・・・③

とあって、建物シートに
処理済み Aビル 4000・・・④
処理済み Aビル 8000・・・⑤
処理済み Aビル 3000・・・⑥
とあったとき、

④と③が一致
⑥と②が一致
⑤が金額不一致
とするのか
④と③が一致
⑤と①+②が一致
⑥が該当商品なし

とするのかが判断が付きません。
以下の条件が必ず成立するなら、
①建物シートにAビルは1件しかない。
②明細シートのAビルは全て無条件に加算した結果を比較する。
ということであれば、実現は可能です。
    • good
    • 0
この回答へのお礼

ご丁寧に早急に返信いただきましてありがとうございます。
営業畑出身の私には、即座に懸念点等が思いつかず。。
すごいです!としか思えないです。
以下の条件が必ず成立するなら、
①建物シートにAビルは1件しかない。
②明細シートのAビルは全て無条件に加算した結果を比較する。
ということであれば、実現は可能です。
→はい。①と②の条件は必ず成立いたします。
ご教授いただきたく、よろしくお願いいたします。

お礼日時:2021/09/20 18:55

質問者さんにはこの画像読み取れますか?


せめて4つに分けて添付してもらうか、或いはBook毎委託業者に渡して作成依頼をされるとか?

ベテラン回答者様の中にはBookをアップロードさせて解決される方もいますが、個人情報の消し方を伝えないのでそのまま公にさらされる事が稀にあります。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング