鮮魚のお刺身。

朝獲れの魚たちからどれを食べたいか選ばせてくれます。

すばらしい~~

(^∇^)

 

さて、前回は実際にExcel作業をしてもらって、マクロを自動記述させたところまで終わりました。

コチラです。

 

できたプログラムは、大きく5つに分けられます。(空白行を入れてわかりやすくしました。)

 

上から3つは、手順(1)から(3)そのままです。

 

4つ目は、再計算して、「2日目」のデータとしてC10セルに最大乖離率を値貼り付けするところまで、

 

5つ目は、また再計算して、「3日目」のデータとしてC11セルに最大乖離率を値貼り付けするところまで、

というプログラムになっています。

 

 

では、今日はこちらを加工していきましょう。

まず、繰り返せそうなところを探します。

 

上から、3つ目,4つ目,5つ目は、ほぼ同じですね。

「 Calculate 」から始まって、「 Application.CutCopyMode = False 」で終わるという…

(「 Calculate 」というのは再計算なので、どこでやっても問題ありませんので、3つ目の頭にも持ってきてみました。)

よって、3つ目を繰り返せば良さそうですね。

 

あとは、セルの位置を変えたいところは、Range文ではなく、「Cells」に置き換えます。

たとえば、「 Range(“C9”) 」 というのは、「 Cells(9,3) 」に置き換えることができます。

 

これらを修正したものが次のプログラムです。

変更点には、コメント文で「←ココ」と記載しておきました。

 

 

まず、簡単なところから加工して短くしますね。

③④⑤の「←ココ」は、異なる部分は、

Cells(9,3) ,Cells(10,3) ,Cells(11,3) の、9・10・11 だけですよね。

これは、1日目のデータはC9セルに,2日目はC10セルに,3日目はC11セルに…

と 500日目(C508セル)までコピペするための行の数字が変わっていってるだけです。

この部分を、繰り返しの「For ~ Next」構文を使って書き換えます。

 

 

こんなに短くなりました。^^;

これで、「サイコロを1日10回振る」ことを500日目まで繰り返して結果を記録するマクロができました。

 

では続きは次回に!^^