PR

 今回は、前回手直しをしたマクロのコードについて、詳しく解説していくことにします。まず、図1をご覧ください。この図の上段に書かれているのが、マクロ記録の機能を使って自動的に作成された、手直し前のコードです。

 マクロ記録では、対象となるセル範囲が「Range("E4:E19")」と記録されています。これは、マクロ記録中の操作で、直接E4セルからE19セルのセル範囲をドラッグしたためです。しかし、このままでは対象となるセル範囲が固定されてしまい、データの増加に対応できません。また、E列のセル、すなわち「担当者」フィールドのデータしか抽出対象にならず、「使える」マクロにはほど遠いものとなっています。

9-1.jpg
図1 対象セル範囲を汎用的に処理できる内容に書き換える

 実用性の高い「使える」マクロにするためには、
・データの増減に対応して対象となるセル範囲を決定する
・どのフィールドからでも重複しないデータを抽出できる
最低限、上記の条件を満たす必要があります。

 この点を踏まえ、修正を施したものが図1の下段に書かれているコードです。ピンク色の部分が修正箇所となっていますので、違いを見比べてみてください。