VBAでコントロールする中で、最も注意を払わないといけないのが「オートフィルター」かもしれない。
・データベースから読み込んだレコードセットをシートにコピーする際
・データを消去する際
など、フィルタで条件選択がされていたら思いもよらない動作をしてくれることがある。
前者では、
・指定列でない列にデータが貼られた。
・想定していないデータが繰り返し貼られた。
などという事象が起きた経験がある。
オートフィルターを使う場合は
・あらかじめフィルタ内容を残していったん解除
・最後にまた元の状態に復帰・・これは時と場合によるが
を心がけないといけない。