VBA05_手作業を自動化するメソッド実践

こんにちは! にわか管理人のBenです。

はじめの自己紹介では、様々なジャンルを書きますよと言いながら、最近VBAが多いです。
でも、VBAはExcelを使う人なら絶対に役立つはずです ということで前回のプロパティに続いて今回はメソッドです。

メソッドは直訳すると方法です。前回のプロパティは、「レポート文字色」という例文でレポートがオブジェクト、文字色はプロパティ、青はでした。つまりオブジェクト.プロパティという構図です。

では、メソッドはというと、「レポートコピーする」とか「文字消去する」という感じで、何を「どうする」の部分がメソッドです。プロパティのように値はないのでオブジェクト.メソッドの構図です。

_vba1.gif
実際のRangeオブジェクトの代表的なメソッドを表にしました。コピー、ペースト、消去など普段私たちが手作業で行っている部分がプログラムで自動でできるわけです。便利でないはずがありませんね。

_vba2.gif
こちらが例文です。1行目は手動操作と同じくコピーとペーストでコピー元の範囲を指定してCopy、コピー先の範囲を指定してPasteSpecialです。そのほかのメソッドもそうですが複数のセルの指定もOKです。内容の消去はClearContentsです。手動でセルを選択してDELキーで消去するのと同じです。Deleteはセルの削除で、例題ではC列を削除しています。列の指定をするときは、行番号は入れず列のアルファベットだけで指定します。DとE列でしたらD:Eです。最後にSelectです。これは手動操作でいうとセルのクリックやドラッグで一つ又は複数のセルを選択する動作と同じです。例題では3行目を選択しています。先ほどの列と同様に行を指定するときは行番号のみを用います。

20151031_vba3.gif
最後に注意事項としてExcelのマクロ機能全般に言えることですが、実行したら元に戻すのはできません。アンドゥができないのです。マクロはExcelをダイレクトに操作するようなので、アンドゥは働かないみたいです。なので気を付けることは「プログラム実行前に必ず保存すること」です。プログラムの記載ミスで大事なデータが消えてしまってからでは遅すぎますから・・・と言いながら自分でも何度これをやったことか


この記事へのコメント


この記事へのトラックバック