100マス計算
30日間1日1本マクロ生活、7日目です。
マクロを書く準備は、0日目に記事を書きました。
マクロを書く準備早速マクロを書こうと思ったんですが、マクロって何?食えんの?って人もいると思うんで、丁寧に行こうかな、と。マクロってのは、通常は人間の手でやるような作業を、プログラムを書くことで機械に自動的にやらせるってことです。Excelの場合はVBA(Visual Basic for Application)という言語を使ってマクロを書きます。まずはその準備を。Excelを起動すると、ワークシートが現れます。ここでキーボードの「ALT+」を押してください。はキーボードの上方にあるファンクションキーの11番です。すると、このウィンドウが開... 0日目 マクロを書く準備をしよう【30日間1日1本マクロ生活】 - わたしの日常に価値はありますか? |
今日のネタは、100マス計算。
100マス計算は人間様の計算力向上のためにやるものなんですが、これを機械にやらせてしまおうという、本末転倒のネタです(笑)
さっそくコードを
Sub 百ます計算()
For Each c In Range(Cells(2, 2), Cells(11, 11))
x = c.Column
y = c.Row
c.Value = Cells(1, x) + Cells(y, 1)
Next c
End Sub
では、解説します。
Range
2行目の「Range」はワークシートのセルの範囲を指定する命令です。
「左上のCells(2,2)から右下のCells(11,11)までの長方形(ここでは正方形)の範囲」という意味です。
For Each c in その範囲 ですから、その範囲内の全てのセル「c」についてのループです。
xにそのセルのx座標、yにそのセルのy座標を入れ、同じx座標の一番上の数と、同じy座標の一番左の数を足したものを、そのセルに書きこみます。
まさに100マス計算そのものですね。
実行結果
マクロを記述するウィンドウの「Sub」と「End Sub」の間にカーソルを置いて、画面上方の再生ボタン的なアイコン(右向きの三角形)をクリックするか、[F5]キーを押します。
このように、人間の代わりに100マス計算をしてくれました。
Excelは便利
悔しいですが、Excelは便利です。
Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。
マクロを書くようになると、Excelからは離れられないですね。
30日間、頑張ります。
マイクロソフト 2014-10-17