こんにちは!私はExcelVBAをメインに開発をしている個人事業主です。
普段Excelをお使いになられる方も多く、ExcelVBAはプログラムの中でも親しみやすいプログラムになりますが(中にはVBAはプログラムじゃないという人もいますが(笑))
今回ExcelVBAのプログラムの変数について、英数派?日本語派?という記事を書いていこうと思います。
ExcelVBAでは、Excelが日本語バージョンの場合、
変数も「日本語」で設定することができます。
例えば、最終行を求める場合
————————<英数派>————————
Dim Ws As Worksheet
Dim LastRow As Long
LastRow = Ws.Cells(Rows.Count,1).End(xlup).Row
————————————————————-
こういった記述になるかと思います。
つぎに日本語バージョンではどうでしょう?
————————<日本語派>————————
Dim シート As Worksheet
Dim 最終行 As Long
最終行 = シート.Cells(Rows.Count,1).End(xlup).Row
————————————————————-
こういった記述になります。
短い記述の場合は、どちらでも簡単に解読できるのですが、
仕事でプログラムを入れるとなると、簡単なコードはあまりなく
変数が多いコードやいくつものFunctionが存在するため、コードが複雑化しやすい傾向にあります。
また新規で作成して納品するまでは簡単ですが、
一番大変なのは、1~2年経った改修時。
プログラムの内容も忘れてしまっているため、いつも使用する変数以外は基本忘れがちになります。
「プログラムなんだから、英数派に決まってるでしょ!」という方も多いですが、
こういった時イレギュラーな変数や、似たような変数が多いとき、一部の変数に日本語を使うとかなり便利になります。
何が便利かというと私の場合は、改修時の生産性がかなり高く、早く改修できて利益率が高いこと。
そして、早く対応することで、お客さまも喜んでくれること。
社内SEの方の場合は、自分の仕事が早く終わり生産性が高まること。
ほんとにいいことづくしです。
今まで英数派だった人も日本語変数を一度使ってみてください。
最初は違和感があるかも知れませんが、慣れると生産性が上がるのが実感できるかも知れません。