EXCEL、VBAプログラミング入門11~コメントと変数名について~第2回目

今回は、EXCEL、VBAプログラミングの第11回目のコメントと変数名についての第2回目です。

今回は以下の内容について説明を行います。
1)はじめに
2)関数の引数について
3)変数名を日本語にすることについて

1)はじめに
今回は、下図のEXCELで作成した計算機システムの「+」ボタンが押された時の処理について解説を行っております。

図1.計算機

前回は、上図の「+」ボタンが押された時に処理が呼び出される部分について解説を行いました。「+」ボタンが押された時の処理は下図の通りです。

図2.「+」ボタンが押された際の処理

「図2.「+」ボタンが押された際の処理」内では、
Call 四則演算(“足算”)
という部分で「四則演算」関数を呼び出しています。

図3.「四則演算」関数

今回は、「四則演算」関数処理から解説を行っていきます。

2)関数の引数について
「四則演算」関数処理は
Function 四則演算(演算子 As String)

End Function
が該当します。

これは、「図2.「+」ボタンが押された際の処理」は
Private Sub 足算_Click()

End Sub
が処理の中身となりますが、それと同様です。

Function は、
Function 関数名(引数)
という形で定義します。

今回の処理では、関数名の部分が「四則演算」となっています。次に引数の部分ですが、これは呼出し元から与えられる値です。具体的には、呼出し元は「図2.「+」ボタンが押された際の処理」内の
Call 四則演算(“足算”)
が該当する訳ですが、「”足算”」の部分が
Function 四則演算(演算子 As String)
の「演算子」にセットされます。

足算の部分に「”」が付いていますが、これは変数ではなく「足算」という文字であることを表しています。「演算子」は変数であり、変数の型は「String」型(文字型)です。つまり、
Call 四則演算(“足算”)
にて、「四則演算」関数を呼び出した結果、「演算子」変数には「足算」という文字がセットされることになります。

3)変数名を日本語にすることについて
変数名についてですが、ここでは
演算子 As String
というように変数名を日本語で表現しています。変数名に日本語を使用するというのは賛否両論があります。個人的な印象としては変数名に日本語を使わない英語派(アルファベット派)の方が多いように思います。

特に30年程前は変数名が日本語不可といったプログラム言語があったように思います。そのため、その頃からプログラムを作っている方はほぼ英語派(アルファベット派)かと思います。

しかし、私は変数名を日本語で表現することをお勧めしたいと思います。

変数名を日本語で表現する時のデメリットとしては、例えば、C言語をエディタでコーディングした際に、日本語で変数名を記載した後で日本語入力モードをオフにしないとスペースキーで空白を入力すると全角のスペースが入ってしまいます。

全角が入った状態でコンパイルをすると全角スペースは文字とみなされてエラーとなってしまいます。その際にエディタによっては、全角スペースも半角スペースも同じスペースですから見分けが非常に付きにくいです。

また、今回取り上げているEXCELでもWINDOWSのOS環境が英語バージョンでEXCELも英語バージョンで使用する際には、プログラム中に日本語を使用するとエラーとなります。プログラム中で日本語を利用するには、日本語の文字コードがインストールされていないといけませんし、該当のツールが日本語に対応している必要があります。

各種アプリケーションは残念ながら英語で開発されていることが多いです。そのため、まだ日本語環境が整備されていないアプリケーションを使用したいと思った場合には、不都合が起きてしまいます。

ところが、日本語が使用できるEXCELでは日本語で変数名や関数名等を定義しても全く問題ありません。

変数名や関数名を付ける際に非常に重要なことは、分かりやすい変数名を付けるということです。分かりやすいというのはその変数や関数で使用する用途に沿った名前を付けるということです。

例えば、「四則演算」関数に関していうと関数名は名前がダブらなければ何でも良いので
関数名を「AAA」「BBB」「CCC」・・・
としても良いですが、それではコードが非常に見にくいです。

プログラムの可読性を良くするにはできる限りプログラム中にコメントを記載すると同時に、分かりやすい変数名や関数名を付けるようにすると良いです。

関数名や変数名をアルファベットで表現するとなるとローマ字で表示するのか、英語で表示するのかという事をある程度決める必要があります。

例えば、「出荷日」をセットする変数があったとします。出荷日などの日付が1つかないとのであれば、変数名を「day」としても良いかもしれませんが、他にも「検収日」「締日」などと日付に関する変数が出てくると、どのような変数名にするかという問題になります。

検収日を英語で表現しようとすると検収日という英単語が思い浮かばないとその都度、英語の辞書で調べないといけませんので非常に面倒です。また、「検収日」をローマ字で表現するとあるものはローマ字であるものは英語となったりします。

アルファベットで表現する場合で、特にルールを設けないで変数名を付けていくと、この英語とローマ字が混在している場合が非常に多いですが、つまり簡単な英単語で表現できるものは英語で記載し、少し難しいものはローマ字で記載するというようになってしまいます。

それを考えるとEXCELVBAのように変数名、関数名に日本語を使用できるのであれば、日本語で記載するのが、手間も不要ですし可読性も良くなると思います。


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。