セルのデータを取り込む例題

もう一つ作ってみましょう。セル内のデータを取り込んだり、セル内に設定したりするプロパティがあります。 Cells(行,列)プロパティです。行と列でセルの位置を指定します。2行A列はCells(2,1)、3行B列はCells(3,2)になります。A、B、Cが1、2、3に相当します(「02.xlsm」)。

[リスト4] ADDマクロ 02.xlsm

Sub ADD()
    a = Cells(2, 1)         '2行A列 (1)
    b = Cells(3, 1)         '3行A列 (2)
    c = a + b            '(3)
    MsgBox (c)           '(4)
End Sub

マクロ名ADDを作ります。(1)は2行A列(2)は3行A列のセルの内容をそれぞれ、変数a 変数b に入れています。数値が入ると仮定しています。
(3)で加算を行い変数cに入れています。= をはさんで右のものを左に入れると言うことになります。
(4)のMsgBox関数で値を表示しています。

VBEに直接書き込んで実行して下さい。

図5 セルのデータを取り込むプログラム

実行結果です。2行A列、3行A列に数値を入れて実行してください

図6 サンプルの実行結果

変数名について

実際にプログラムを作成する時、変数名やマクロ名のつけ方は、いろいろ悩むと思います。わかりやすい名前と言われても困ってしまうことは良くあります。仕事などで、複数人でプログラムを書く場合は、最初にシステムでの大まかな名前のつけ方を検討します。大枠決めておくと、後で別の人がプログラムを見た時、理解し易くなります。プログラマーそれぞれで自分なりの名前のつけ方を持っていることも多いです。

ある程度こう書くと解りやすい、見やすいという方法がよく議論されています。以下の記法は良く使用される記法です

(1)Pascal記法

変数名の単語の最初の文字は大文字で書くという記法です。たとえば 「StringData」等です。この方法は通常の英文と同じなので、とても見やすくなります。

(2)CamelCase記法

先頭以外の単語の最初の文字は大文字で書くという記法です。たとえば「stringData」等です。先頭一文字が小文字なので、変数の種類を最初の単語に書く、などの方法がよく使われています。「intData」「strData」等です。VBAでは変数の型はあまり気にしないでプログラムを書くことができますが、言語によっては、きっちり型宣言をしなくてはいけないものもあります。こんな時最初の単語にintとくれば、整数型、strとくれば文字型、というように決めておくと、とてもプログラムが見やすくなります。

(3)単語間にアンダーバーを入れる記法

単語同士をアンダーバーでつなぎ、各単語は小文字で始める記法です。たとえば 「string_data」等です。上記の記法に従って変数名やマクロ名を付けるとわかりやすいプログラムが書けると思います。

[コラム]変数名の雑学

特に必要な知識ではないのですが、例題のプログラムの変数名を見ていると、iやjが良く使用されています。iやjが多いのは、なぜでしょう。まだパソコンの無い時代(大型コンピュータの時代)にはCOBOL(コボル)、FORTRAN(フォートラン)と言われる言語がよく使われていました。COBOLは事務処理などを開発するのに適した言語で、データベースも割と楽に使えます。FOTRANは計算処理に適した言語です。現在のBasicやCはこのFORTRANからの流れです。

FORTRANには、数値を入れる変数の変数名には、暗黙の型宣言と言うものがあります。特別に型宣言をしない限りはじめの1文字がi,j,k,l,m,nで始まる変数名は整数型、その他のものは実数型になると言うものです。新しく開発されたC言語を作成した人はもちろんFORTRANを使っていました。そんな関係で例題にi,jを良く使っていたようです。この流れはBasic言語でも受け継がれています。現在はi,jの必要は無いのですが、ちょっとした例題などはこのi,jを使って作成する人がまだ多いようです。

まとめ

今回、マクロを二つ作成し、変数の説明とMsgBox、Cellsプロパティを説明しました。特にCellsは今後、Excel表のデータを取り込んだり、設定したりするのに、良く使います。次回はセルやシートの操作方法について説明したいと思います。

WINGSプロジェクト 横塚 利津子著/山田祥寛監修
<WINGSプロジェクトについて>
テクニカル執筆プロジェクト(代表 山田祥寛)。海外記事の翻訳から、主にWeb開発分野の書籍・雑誌/Web記事の執筆、講演等を幅広く手がける。