VBAについてご教授いただきたいです。
子育て奮闘中で毎月行っているデータ処理を自動化したく思っています。自分なりに学習しておりますが、VBA初心者のためどうしてもうまくいきません。
お詳しい方のお力を貸していただけますと大変助かります。
建物シートと機械シートと明細シートと処理済シートの4つのシートがあります。
建物シートと機械シートは明細シートの情報をそれぞれのシートにわけたものです。
明細シートにある商品名で各シートに分けています。発注番号は被ることはありません。
※やりたいことは下記となります。
①明細シートにある発注金額と建物シートと機械シートのB列にあるステータスが「処理済」になっているものに対して金額が一致しているかを確認し一致していたら、明細シートのE列の状態欄に「完了」と記載したい。
※金額が不一致のものがあればポップを表示させて作業を中止。できれば誤っているものが判別できれば嬉しいです。
②明細シートのE列に「完了」と記載があるものを処理済シートに行ごと切り取って貼り付けをしたい。
③建物シートと機械シートのB列にあるステータスが「処理済」と記載されているものを行ごと削除したい。
何卒宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
マクロが大きいので、下記にアップしました。
こちらから、コピペしてください。
https://ideone.com/VL99jo
建物シートのシート名:建物
機械シートのシート名:機械
明細シートのシート名:明細
処理済シートのシート名:処理済
となっています。
マクロ実行後にシートの内容が更新されるので、
正しいことが確認できるまでは、バックアップをとってから、マクロを
実行してください。
データが正常であれば、添付図のようなメッセージが表示されます。
ここで、OKをクリックすると、実際に行の削除、行の移動が行われます。
キャンセルをクリックすると行の削除、行の移動は行われません。
金額の不一致、名前の不一致があった場合は、その旨表示し、処理を打ち切ります。
不明点があれば補足してください。
ご丁寧に分かりやすく、ご教授いただきありがとうございます。
私では全然ダメだったので、VBAが動いた時感動しました。
大変恐縮でございますが、金額の確認について1点教えて頂けますでしょうか。
建物(機械)シートと明細シートの金額が完全一致しておりますと処理が問題なく実行されます。
(例)Aビルの金額が明細と建物シートで一致する場合:建物シートのD列の合計金額が10,000円 明細シートのD列の発注金額が10,000円
→問題なく動作いたします。
明細シートにAビルが2つある時(5,000円が2つ)で、合計10,000円。建物シートの合計金額が10,000円の場合、金額が不一致のためエラーとなってしまいます。
明細シートには複数の同じ商品名(Aビル)があり、合算して商品名(Aビル)ごとに各シートに合計金額を表示しているものが多く、明細の商品名の合計額と建物シートの商品名の合計額が一致するようにはできますでしょうか。
今のままでも十分お力を頂戴しており、大変申し訳ございませんが、ご教授いただけますと嬉しいです。
よろしくお願いいたします。
No.4
- 回答日時:
No.3
- 回答日時:
No2です。
>明細シートには複数の同じ商品名(Aビル)があり、合算して商品名(Aビル)ごとに各シートに合計金額を表示しているものが多く、明細の商品名の合計額と建物シートの商品名の合計額が一致するようにはできますでしょうか。
Aビルを無条件に合計すると、うまくいかないような気がします。
Aビルで合計して良いかどうかの判断になるものはないでしょうか。
明細シートに
Aビル 5000・・・①
Aビル 3000・・・②
Aビル 4000・・・③
とあって、建物シートに
処理済み Aビル 4000・・・④
処理済み Aビル 8000・・・⑤
処理済み Aビル 3000・・・⑥
とあったとき、
④と③が一致
⑥と②が一致
⑤が金額不一致
とするのか
④と③が一致
⑤と①+②が一致
⑥が該当商品なし
とするのかが判断が付きません。
以下の条件が必ず成立するなら、
①建物シートにAビルは1件しかない。
②明細シートのAビルは全て無条件に加算した結果を比較する。
ということであれば、実現は可能です。
ご丁寧に早急に返信いただきましてありがとうございます。
営業畑出身の私には、即座に懸念点等が思いつかず。。
すごいです!としか思えないです。
以下の条件が必ず成立するなら、
①建物シートにAビルは1件しかない。
②明細シートのAビルは全て無条件に加算した結果を比較する。
ということであれば、実現は可能です。
→はい。①と②の条件は必ず成立いたします。
ご教授いただきたく、よろしくお願いいたします。
No.1
- 回答日時:
質問者さんにはこの画像読み取れますか?
せめて4つに分けて添付してもらうか、或いはBook毎委託業者に渡して作成依頼をされるとか?
ベテラン回答者様の中にはBookをアップロードさせて解決される方もいますが、個人情報の消し方を伝えないのでそのまま公にさらされる事が稀にあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) 2つの条件に合うセルにデータを転記したい 4 2022/12/02 11:05
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
VBAの天才来てください
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
VBA 存在しないシートを選...
-
エクセルのシート名変更で重複...
-
XL:BeforeDoubleClickが動かない
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロでアクティブ...
-
【VBA】指定した検索条件に一致...
-
excelのマクロで該当処理できな...
-
VBAでオブジェクト変数にsetし...
-
エクセル・マクロ シートの非...
-
ブック名、シート名を他のモジ...
-
Excelマクロのエラーを解決した...
-
VBA 検索して一致したセル...
-
Worksheet_Changeの内容を標準...
-
シートが保護されている状態で...
-
エクセルVBAでダブルクリックを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
VBA 存在しないシートを選...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
ExcelのVBAのマクロで他のシー...
-
ブック名、シート名を他のモジ...
-
XL:BeforeDoubleClickが動かない
-
VBA 複数の各シートに行を追加...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
for 文の 繰り返し処理に使える...
おすすめ情報