今日はエクセルのシートに何かを記入するときの動作を説明しようと思う。
まずはVisual Basic Editorを立ち上げる。
前回はThisWorkbookにメッセージボックスのコマンドを書いたけど、今回は別のところにマクロを書こう。
「Microsoft Excel Object」を右クリック「挿入」→「標準モジュール」と進むとModule1ができる。

では、このModule1の中に次のマクロを書いてみよう。
====================================================
Sub Test001()
Cells(1, 1) = 1
End Sub
====================================================
書いたら前回と同じように、エクセル本体へと戻って、メニューバーの「ツール」→「マクロ」→「マクロ」と進み、Test001を実行する。
すると、エクセルシートの縦1、横1の位置に「1」と記入されたはずだ。
では再びVisual Basic Editorに戻って、今度は次のマクロを書いてみよう。
====================================================
Sub Test002()
Range("A1") = 2
End Sub
====================================================
エクセル本体へと戻って、メニューバーの「ツール」→「マクロ」→「マクロ」と進み、Test002を実行する。
先ほどと同じ位置に今度は「2」と書かれたはずだ。
エクセルシートのセルの使い方には「Cells」と「Range」の2種類がある。
Cellsを使う場合は、括弧の中は(縦コンマ横)だ。
Rangeを使う場合は、括弧の中は(横縦でダブルコーテーション)だ。
できる限り、Cellsを使うことをすすめる。
理由は、さらにレベルアップして複雑なセルの操作を行なうようになったときにRangeは使いにくいからだ。
縦が数字で横がABC…のシートに慣れてしまっている人には最初は戸惑うかもしれないが、ぜひCellsに慣れてほしい。
さて、Excelというのは通常の設定であれば、シートが3枚ある。
Test001とTest002ではどのシートに記入するかは指定していない。
この場合、現在表示されているシート(アクティブなシート)に記入される。
もちろんアクティブではないシートにも書き込むことはできるが、その方法はまた今度。
まずはVisual Basic Editorを立ち上げる。
前回はThisWorkbookにメッセージボックスのコマンドを書いたけど、今回は別のところにマクロを書こう。
「Microsoft Excel Object」を右クリック「挿入」→「標準モジュール」と進むとModule1ができる。

では、このModule1の中に次のマクロを書いてみよう。
====================================================
Sub Test001()
Cells(1, 1) = 1
End Sub
====================================================
書いたら前回と同じように、エクセル本体へと戻って、メニューバーの「ツール」→「マクロ」→「マクロ」と進み、Test001を実行する。
すると、エクセルシートの縦1、横1の位置に「1」と記入されたはずだ。
では再びVisual Basic Editorに戻って、今度は次のマクロを書いてみよう。
====================================================
Sub Test002()
Range("A1") = 2
End Sub
====================================================
エクセル本体へと戻って、メニューバーの「ツール」→「マクロ」→「マクロ」と進み、Test002を実行する。
先ほどと同じ位置に今度は「2」と書かれたはずだ。
エクセルシートのセルの使い方には「Cells」と「Range」の2種類がある。
Cellsを使う場合は、括弧の中は(縦コンマ横)だ。
Rangeを使う場合は、括弧の中は(横縦でダブルコーテーション)だ。
できる限り、Cellsを使うことをすすめる。
理由は、さらにレベルアップして複雑なセルの操作を行なうようになったときにRangeは使いにくいからだ。
縦が数字で横がABC…のシートに慣れてしまっている人には最初は戸惑うかもしれないが、ぜひCellsに慣れてほしい。
さて、Excelというのは通常の設定であれば、シートが3枚ある。
Test001とTest002ではどのシートに記入するかは指定していない。
この場合、現在表示されているシート(アクティブなシート)に記入される。
もちろんアクティブではないシートにも書き込むことはできるが、その方法はまた今度。