読者です 読者をやめる 読者になる 読者になる

器用貧乏は赤魔道士になれ

極小ベンチャー企業のひとり管理部門担当者が、多岐に渡る日々の業務のことだったり全然関係ないことだったりを書くブログ

ExcelVBAの変数名ってどうやって決めてるの?

ビジネス・企業

 今、新しいサービスの業務管理に使うために、ExcelVBAの本に首っ引きになりながらデータベースを作っています。

 おおよそ形が見えてきたところで、コードの内容を綺麗にするために記述を見返しているのですが、ちょっと気になったことがあります。

 

 みんなは変数の名前をどうやって決めてるんでしょう?

 プログラミングをする人たちの間では、何かお作法のようなものでもあるんでしょうか。

 

 やはり、何を定義したものなのかが分かりやすい変数の名前にしたいのですが、そうするとついつい長い変数名になってしまうのです。

 で、今はそこもあわせてコードを見直しているところです。

 やはり変数名が長いとコードを書くときに面倒だったり記述間違いをしやすかったりしますし。

 しかしそうは言っても、短くて適切な変数名が思い浮かびません。

 RPGでも登場人物に名前をつけるのに時間をかけて悩むタイプなので、こんなつまらないところで悶々としてしまっているわけです。

 

 とりあえず参考までに、分からないコードをネットで調べていたときによく目にした変数名をまとめてみました。

 

1.i、j、k

For~Nextの繰り返しステートメントによく使われます。

 

2.cnt

件数などを数えるときに使います。"count"の略ですね。

 

3.buf、tmp、n

一時的に値などを格納するのに使われるようです。

それぞれ"buffer"、"temporary"、"number"の略でしょうか。

bufはString型、temporaryはVairant型、nは数値の変数というイメージがあります。

 

4.r、rng

Range型です。

 

5.str

String型です。

 

 おそらく他にもいろいろあるのだと思いますが、だいたいこんなところでしょうか。

 

 しかし、たとえばRange型でも、複数の検索したセルをRange型の変数として宣言したい場合があります。

 そうなると、それぞれの変数を区別する必要が出てきます。

 ですので、何を代入した変数かがわかるように、"rng"の前にいろいろ意味を付け足したくなるのです。

 だからつい長い変数名になってしまいます。

 

 本当にみんなはどうやって変数名を決めてるんでしょう。

 

 この件とは少々ズレますが、どのモジュールでどんな変数を使っているのかを、実際には動作させない標準モジュール内に、リストとして整理して書き残していっています。

 もし明日わたしが自動車に撥ねられたら、などと不吉なことを考えがちな性格なので、いつでも他の人がコードを見てすぐに内容が分かるようにしておきたいのです。

 そして、その変数リストを整理しながらコードの記述内容を見直して、ここのコードはもっと短くできるな、などということをやっています。

 

 何かいい変数名の付け方ってありませんかね?

 

Excel VBA逆引き辞典パーフェクト 第3版

Excel VBA逆引き辞典パーフェクト 第3版