- ベストアンサー
EXCELのVBAについて
エクセルでVBAを使う場合に、変数や関数名に日本語を使うことが出来るみたいであまり知らなかったのですが、これは正式に使ってよい物なのでしょうか。わかる範囲で本などを調べてもこのことに触れてない(気が付かないだけかな?)ものですから、もし定義なりルールなりがあるようでしたら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
構わないっちゃぁ構わないです。 ただし、先頭の文字として使っちゃいけない数字や記号は全角でも使わないほうがいいです。 ただ私は全角の変数名は使いませんし、自分のチームでも使用禁止として指導しています。 "見やすい" "すぐに変数名などを考えられる" というメリットはありますが、"見やすい" に関しては慣れ、"すぐに変数名を考えられる" に関してはチーム(または個人)で辞書を作っていくことで対応できます。 で、デメリットですが、 ・英数記号の部分を全角にすると見づらい ・インテリセンス機能での選択候補が使いづらくなる ・大文字小文字の自動訂正が効かない ・英数記号の全角と半角を同一文字とするかの解釈がバージョンによって違う。(Access 97 用の MDB を Access 2000 形式に変換できなかった) などがあります。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >これは正式に使ってよい物なのでしょうか VBA自体に正式というような世界はないような気がしますが、人様に見せるようなものは、2バイト文字のプロシージャ名や変数に使うべきではないでしょうね。コーディング・ルールとしては使ってはいけないことになっていますが、それで、ほとんど問題が起こるわけではありません。逆に、何がトラブルが起こるのかわかりません。 ただ、全てを英語で使うというルールを徹底したら、今度は、英語力が問題になりますね。 例えば、 × Sub Zaiko() ○ Sub Stock() っていうのがあると、厳密に言えば、それは、正しいのか危ないなって思います。Stock = 在庫という訳付けは、いかにも日本人の発想で、Stockというと別の意味を連想させます。 一応、プロシージャー名で、その作業を類推できるような書き方が望ましいとされていますが、キリがない話です。 >定義なりルールなりがあるようでしたら 他には、まあ、プロシージャ名は、 stock → Stock というように、大文字・小文字を混在して書くとか言われますね。変数ですと、myTime や MyTime(my = ローカル変数)のようにすれば、変数名を間違えた時に、小文字なら小文字だけになるので、すぐわかるとか。他にもいろいろあるけれど、VBAの場合は、チームで製作することは、めったにないので、自分なりの使いやすいルールをいくつか使えば、その方式でも構わないと思います。 >わかる範囲で本などを調べてもこのことに触れてない 大村あつしさんの『かんたんプログラミング Excel VBA 基礎編』(技術評論社)に、そのことについては、触れられているはずです。
お礼
ありがとうございます。 参考にさせていただきます。
お礼
さっそくお答えをいただき申し訳ありません。 バージョンの違いの問題は、知人のSEの愚痴からもいくらか想像していたのですが、やはりあるのですね。実際の現場の方の答えがいただけるとは心強い限りです。 ありがとうございました。