二重ループでコードをカンタンにする

こんにちは。伊川(@naonaoke)です。

今回は、私の趣味である競馬ネタです。


この書籍の内容を、どうしても、Excelで表現したかったのです。

ループを使うことで、カンタンに表現できることが分かったのです。

その内容を紹介します。

この記事は、二重ループを理解したい人にお勧めです。




二重ループ

ループは、難しいですよね。

その難しさが、VBAで挫折する原因となります。

単純なループに関しては、上の記事を参照してください。




二重ループ 作業手順 その1 データベース確認


左の図で、3つのセルに分かれた、【中山 T 2000】を【中山T2000】にしたいと思います。

そして、条件があり、18列毎に登場します。

そのコードをどのように表現するかという事です。




二重ループ 作業手順 その2 今までのコード

以前は、私は、このコードを記載していました。

しかし、何度見ても、無駄の多いコードです。

二重ループ 作業手順 その3 失敗したコード

このコードは失敗例です。

3重ループにしました。

しかし、このコードを実行しても、なにも起こりません。




二重ループ 作業手順 その4 二重ループでコードを記載

For j = 24 To 96 Step 17

For x = 112 To 115

原因 j、xは同時に増えます。

だから、xをjの入れ子にしないという事です。

入れ子は、かっこよく書くとネストのことです。

入れ子の例



このように記載しても、作動するわけがありません。


ここの処理が重要です。

下記の順番を守らないと作動しません。






二重ループ 作業手順 その5 INDEX関数とMATCH関数にも利用する

対象馬場キーに対応した、ランクを転記したいと思います。


以前は、こんなコードを記載していました。

二重ループで記載する


完成図






ここがポイント

ここがポイント
Function8.png
二重ループを覚えるとコードがすっきりします。今まで、とてつもない時間を無駄にしたと思った伊川でした。

 




まとめ

今回は、競馬ネタでした。

コードの使い方によっては、みなさんの実務でも利用できると思います。

 

今回のサンプルファイルは、No147です。

サンプルファイルの購入
ブログが動画で紹介した内容のサンプルファイルを
購入できます。月額3,000円です。
練習用ファイルもダウンロードできます。
PayPal経由でお支払いでます。
ダウンロード回数に制限はありません。
スポンサーリンク

Twitterでフォローしよう

おすすめの記事