見出し画像

ワンポイントマクロ9-わかりやすいマクロ!

皆さんこんにちは。
今回は、「マクロの記録」を利用して出来上がったマクロを見やすく、解読しやすいマクロに書き変えるポイントをご紹介します!
前回の記事(ワンポイントマクロ8-マクロの記録ポイント)で書き変えた記録マクロを使ってご説明します。

◆イメージ

画像5

◆前回の完成マクロ

画像1

まず、このマクロをみて気になるのはWorksheets("記録")という同じシートを指定する部分が3か所も続けて書かれているというところです。

画像2

この黄色の部分の指定を1回にして見やすくします。

◆指定シートをSelectしてアクティブなシートにすればいい。

このマクロの最初に
Worksheets("記録").Select
というコードを書いて記録シートを選択してアクティブシートにしておけば、それ以降はいちいち同じシート名を指定しなくてもアクティブシート上で作業が行われます。
↓↓

画像3

↓↓

画像4

<テキスト>
Worksheets("記録").Select
②Range("A1").AutoFilter
③Range("A1").AutoFilter Field:=3, Criteria1:=">=10000", _
   Operator:=xlAnd
④Columns("A:C").Select
⑤Selection.Copy
Sheets("ピックアップ").Select
⑦Columns("A:A").Select
⓼ActiveSheet.Paste

◆解説

①で記録シートを選択します。(記録シートが見えている状態になります。)
②オートフィルタを適用・解除
③条件をもってフィルタをかける
④A列からC列を選択
⑤直前で選択した範囲をコピーする

ここまで(コピーするところまで)は記録シート上で作業する部分ですね。
次の⑥Sheets("ピックアップ").Selectでピックアップシートが選択されてアクティブなシートになります。
⑦でピックアップシートのA列が選択されて
⓼で(⑤でコピーした部分が)貼り付けられます。

◆まとめ

画像6

↓↓ 書き変え後

画像7

★黄色の線のシートが選択されたところを境に、
最初「記録」シートでコードが実行されて、目的の範囲をコピーしたら
「ピックアップ」シートが開かれて指定の場所に貼付けられる。

★今回のマクロは短いマクロなので見やすさの違いがそれほど、かわらないかもしれませんが、マクロが縦にも横にも長くなってくると、書く手間を省くことやスペルミスを防ぐことにもつながります。

関連記事<ワンポイントマクロ5-省略して書く


画像8

・AutoFilterが2回連続で出てきますが、1回目のAutoFilterは消して大丈夫です。フィルタボタンが表示されてても表示されてなくても、2回目のAutoFilterでフィルタリングされるからです。
・, Operator:=xlAnd は複数条件の時に使うので消して大丈夫です。
・セル範囲を一旦Selectしているコードはなくても大丈夫。

画像9


この記事が気に入ったらサポートをしてみませんか?