どうも、そこらへんの社会人です!
今回は、マクロの醍醐味の繰り返し作業をやっていきたいと思います!
会社でたくさんの作業をやったけど、アウトプットが大したことない・・・という経験をしたことはありませんか?それは、だれでもできる単純作業に時間を奪われていたからです。
今回は、そんな無駄な単純作業をなくすことができるかもしれな、きっかけを与えてくれるマクロになります。
マクロって???って言う方は、前回私がかいた記事を見てからのほうがいいかもです。
【Excel マクロ 初心者】セルの値を自動でコピーするエクセルマクロを作成してみた!(if、else使ってみた)
ちなみに今回のこの記事はYoutubeの下記の記事を参考にしています!!
else if
else ifとは下記のような構文文になります。
If 条件式① Then
条件式①が成立した場合実行
Eleseif 条件式② Then
条件式②が成立した場合実行
Elese
条件式①②ともに成立しなかった場合に実行
End if


左の「登録」シートに記載したものを右の「一覧」シートの赤枠部に記載していきます。
そのときのエディターの記載は下記のようになります。(繰り返し文)

下記のもの実際に使ってみたものが、下記の動画になります
ただ、これだと100個を記載したい場合、100パターンを記載しないといけないのですごく大変ですよね・・・そこで使うのが「for」関数になります
for~Next文
①まずは、簡単に下記のようなマクロを動かしてみたいと思います。

これを動かすと下記の動画のようになります。
②関数というものを使って上記の式を簡略化してみましょう。
それがこちらになります。

こちらの式がFor ~Nextになります。For~Nextの間を1~7回繰り返すという式になります。
iというのは、任意で置いた関数文字になります。
iを「シート1」の「Ai」に記載する。それをiが1~7までを繰り返す。という意味になります。
実際に動かしてみたのがこちらになります。
これをどのように使っていくかというと、さきほどのelse if文でかいたものとfor~Nextで書いたもので見比べてみましょう
まずは、先ほど書いたelse if文になります

次に上記のものをfor~Next文で下記なおしたものになります。

これを実行してみると
あれおかしいですね?

4回も繰り返してしまってます・・・これの改善のために下記のように「Exit for」を追記します。

この状態で再度実行してみると・・・
うまくいきました!!
簡略化(With~End With)
次に文章の簡略化をやっていきたいと思います。できるだけ見栄えがいいほうが後で見返した時になにが書かれてるかわかりやすいですからね。早速見ていきましょう。
いま、現状は下記のようなマクロが記載されていると思われます。赤枠で囲まれているところを簡略化してみたいと思います。

下記のようにすることで、同じような繰り返しがなくなって見栄えがすっきりしました!

いかがだったでしょうか?
今回のFor~Next文を使えば大量のたんじゅん作業を簡略化できそうな気がしてきました・・・
もう少し学んで私も会社の実務に取り入れていきたいと思います!
コメント
[…] 【Excel マクロ(VBA)初心者!】 繰り返し作業を実施してくれるelse if 、For ~N… […]