セルに打ち込まれた数字、あるいは文字をプログラム内に変数として取り込んで計算や文字列処理を行
えると、表計算のみでは行うことができなかったさまざま処理を行うことが出来ます。
今回はまずマクロ操作で出来るセルからプログラムにデータを取り込み、その処理を行った後、再び セルに書き出しを行うことをやってみようと思います。
セルから値の取得と書き出しの場合にもセルの参照方法として絶対参照と相対参照があります。 帳票のタイトルや日付など位置の変わらないものは、絶対参照 表の各項目を順番に参照する場合には相対参照と、使い分けると便利です。
データの取り込み(絶対参照)
現時点のセルの位置とは関係なしに、指定したセルの値を取得します。
文法) |
例えばセル位置"A2"の値を変数名Xに取り込みたい場合には
例) |
とすれば値が取得できます。
データの取り込み(相対参照)
現時点のセルの位置から、指定したセルの値を取得します。
文法) |
例えば今のセル位置から"下へ5","右へ3"進んだ位置の値を変数名Xに取り込みたい場合には
例) |
とすれば値が取得できます。
データの書き出し(絶対参照)
現時点のセルの位置とは関係なしに、指定したセルに値を書き出します。
文法) |
例えばセル位置"A3"に値"bbb"を書き出したい場合には
例) |
とすれば値が書き出されます。
データの書き出し(相対参照)
現時点のセルの位置から、指定したセル位置に値を書き出します。
文法)
|
例えば今のセル位置から"下へ2","右へ3"進んだ位置に値"ccc"を書き出したい場合には
例) |
とすれば値が取得できます。
プログラムサンプル
以上をふまえて、サンプルプログラムを用意しました。
Sub mojituika() Range("A1").Select
|
エクセルファイルのダウンロードはこちら
*お勧め
マクロウィルス等の不安のある方は上記を VBエディターへコピーペーストしてください。
セルにあらかじめデータを入れておきました。無くても今回は加えるプログラムなので問題なく動くと思います。 |
【メニュー】ツール→マクロ→マクロを選択します。 |
【マクロ】ダイヤログボックスが表示されます。 |
プログラムどおりに実行されたのが確認できるかと思います。 |
以上でエクセルのセルにあるデータをプログラム内の変数として取り込み、何らかの処理を行った上で、
また、セル上に書き出すことが出来ました。見積書や、技術計算など表計算機能だけでは難しかった計
算や文字処理を自動で処理をする有効な手段になると思います。