今は便利な世の中で
VBAのコードについてネットで調べるといろんなサイトが
教えてくれますよね~
しかもどこも同じようなコードが並んでるのは
気のせいだろうかってw
例えば「行を削除する」
Rows(i).Delete
とか、
Cells(i, 1).EntireRow.Delete
・・・が、よくでてきます。
ある日のこと・・・
こういうパーツだけ見てた、
とある素人が、
いざ実務のマクロを作ろうとした時の話です。
Excelに2~17行目に種類と型番が入っていたとします。
この種類の「A」は対象外なので、
種類「A」を削除する、こんなプロシージャを書いたとします。
こちらが、そのプロシージャ
※実務っぽくするため、わざわざワークシートオブジェクトを使いました。
このプロシージャ、
・・・なぜなら
データ数が少ないから
本来の実務では何百行のデータを扱ってまして、
その環境でこのプロシージャを実行すると、
削除されるべきデータが削除されず
不要なデータが残ってしまいます。
おっかしーなーと頭を掻きながら、再びネットで検索してたら
プロシージャ全体を紹介しているサイトを発見したので
何が違うのか&足りないのかを見比べてみました。
こちらが、正解プロシージャ
で、こちらは、誤プロシージャ
あ!
そうなんですよ・・・
ポイントは赤色で囲った部分。
2~17行全部見ていくけど、
「行を消す」っていうコードだけ見てただけでは、
行は消さないんですね…トホホ
※ほかにもいろいろプロシージャの書き方はあります。
御礼:
ここまで読んでくださりありがとうございます!!
誤字・脱字・その他諸々のミスに対する細かいクレームは割愛ください(>_<)
どんどんTopicsを増やしていきたいと思いますので
今後ともよろしくお願いします!
0コメント