わたしの日常に価値はありますか?

7日目 100マス計算を機械にやらせよう【30日間1日1本マクロ生活】

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日間、頑張ります。

モバイルバージョンを終了