プログラマーのKaBAです。今日も一日、お役立ち情報をお届けします。何かの際に皆さんのお役に立てたら幸いです。今日は、変数名の付け方のルールについてお話しします。皆さんは、変数名を付けるとき、どのようにされていますか?アルファベットで、ローマ字ですか?それともアルファベットで英単語ですか?すごいですね。KaBAは中学か高校くらいの英語しかできないので、尊敬です。(^-^)VBAは変数名やサブルーチン名に日本語を使用することができます。コード補完機能を使う際に、日本語だといちいち「半角/全角」キーを押してから、日本語を入力し、CTRL+スペースキーを押して補完する、という、大変めんどくさい方法を取るしかないため、おっくうになり、やがてこの方法は使わなくなりがちです。この日本語で変数名をつけ、かつ、コード補完を簡単に行う方法があります。それが「ハンガリアン命名ルール」です。以降の章で、「ハンガリアン」について詳しく紹介していきます。ハンガリアンとは「ハンガリアン」とは、プロのプログラマーの業界で有名な、コーディングルール(プログラムを書く際の書き方のルール)です。皆さん、プログラミングされる際、変数の「型」を意識されますよね?「型」とは、Integerとか、StringとかRangeなど、変数に入れることのデータの種類のことです。変数名を適当につけていると、その変数の型がわからず、数値や文字列セル範囲など、どの値を入れたらよいか、一瞬では見分けられません。変数名の接頭辞(先頭の文字)に型名を入れ込んでおいて、変数名を見ただけでどの型の変数かわかるようにしよう!というアイデアを出した人がいました。以下のようなコードになります。変数の型と、変数名の先頭の3文字か4文字に注目してください。====なお、ハンガリアンにはアプリケーションハンガリアンと、システムハンガリアンの2種類があります。本題とはそれますが、ハンガリアン記法に言及するなら、システムハンガリアンとアプリケーションハンガリアンにも言及しておくとよりよいかもしれません。2019年5月4日システムハンガリアンとは、今回解説している、データの型(int、lng、bol、strgなど)を変数名の頭につけるハンガリアン記法です。アプリケーションハンガリアンとは、変数の持つ実際の意味(cat、dog、animal、taiyaki)などを変数名の頭につけるハンガリアン記法です。本来、シモニーの考案したハンガリアン記法とは、変数の意味や使用目的から接頭辞を決定することであり、型では区別できない情報を変数名に付与することで、紛らわしい変数の意味を明白にし混同をさけるためのものであった。論理座標とデバイス座標、X軸とY軸、ドルと円などで、これらは単純に型による安全性に頼ることはできない。pocketsシステムハンガリアン記法は時代遅れ?:一般システムエンジニアの刻苦勉励:オル...https://blogs.itmedia.co.jp/yohei/2008/04/post-fcac.html昨日のエントリでintPrintCountのような「型に関する接頭辞」...↑にもあるように、型によるハンガリアン記法(システムハンガリアン記法)は、少し時代遅れの使い方のようです。どちらの記法を使用するかは、皆さんの自由ですので、ぜひ、使いやすい記法をご使用ください。====ほえほえ@LWP(@hoehoe1234)さんからご指摘があったのですが、ハンガリアン記法は、現代的なプログラミングの仕方では、もうそぐわなくなっているそうです。批判する気はとくにないのだが、今どきハンガリアンなどつかうのかな?Winで昔からの流れのところ(C,C++,WinAPI)は仕方ないけどVBAでハンガリアンを使う意味ってほとんどないと思います。意味としてのハンガリアンはハンガリアンというより普通にやってることだと思うし。2019確かに、CやVC++、Win32APIを使っていた昔のWindows上のでプログラミングでは、よく使われていましたが、最近のメジャーな言語ではほとんど見かけないようですね。旧態依然としたやり方は、現代のプログラミングにはそぐわないのですね。値型は、値の意味を指すべきで、型を意識したらダメですね。日本語VBA上では、値の意味の把握はもちろんですが、CTRL+SPACEキーで補完を効かせて入力の手間を省くため、という理由がハンガリアン導入の主な目的でした。値の意味を接頭辞にされたり、旧来のハンガリアンの型名を接頭辞にされたり、自由にご使用できます。使いやすい方法をご選択ください。ほえほえ@LWP(@hoehoe1234)さん、ご指摘ありがとうございました!^^=======================ハンガリアンを利用し、コード補完を便利にするここでハンガリアンを日本語の変数名に使うとどのような感じになるのでしょうか。以下、ハンガリアンを使った日本語の変数名のコードを紹介します。Sub注意して頂きたいのは、これらの変数をコード補完する際は、strgやint、lng、rngと英数字を入力してから、CTRL+スペースを押せばよいということです。(strgだけは、strとすると補完候補がたくさん出過ぎるので、strgとします)いちいち「半角/全角」キーを押下して、日本語を入力する必要がありません。「rng」まで打ち込んでCTRL+スペースを押し、コード補完させた時の様子は以下の通りです。後は、目的の変数名を選択して「TAB」を押下するだけですね。(^-^)まとめ皆さん、お疲れ様でした。ここまで読んでいただいて、ありがとうございました。ハンガリアンはもともと、C言語やC++、C#などで使用される変数名の書き方の規則(コーディーングルール)の一つでした。ハンガリアンはVBAでも使用可能です。ハンガリアンと日本語の変数名を使うと、コード補完しやすい型が何なのかすぐわかる変数名が日本語なので、意味が分かりやすいなどのメリットがありました。皆さんも、日本語VBAや普通のVBAでも、ハンガリアンをうまく使われてみてくだい。最新の記事KaBA@フリーランス修行中こんにちは!IT業界で勤めて17年くらい務めています。プログラミング大好きやろーです。自分も独学でC言語を覚えIT会社に就職しました。その後紆余曲折を経て、VB6.0、VBA、Perl、C#、HTML、CSS、JavaScript、PHPなどを覚えていきました。全部C言語の独学時の経験がベースとなって、学習曲線が良いカーブを描いていました。頑張って覚えられてください!よろしくお願いします。さんの三国志などが好きです。ベクターで公開されました「エクセルVBA日本語化」ver0.13.0がベクターで公開されました。今回の改修点は以下の通りです。「セルごとにサブルーチンを呼び出し」メソッドがバグで動作していなかった点を修正。第1行目のみ選択する。公開されました「エクセルVBA日本語化」ver0.11がベクターで公開されました。今回の改修点は以下の通りです。指定できるようになりました。(8)AWHホスティング999円で8GBメモリのVPS。AWHホスティングがご提供。G-Toolsエクセル関数日本語化というエクセルの関数を日本語にする無料のアプリがあります。エクセルファイル単体で日本語化されていますので、PCの他のエクセルファイルには影響はありません。ワンコイン(1ドル)でご購入できます。エクセルの関数も日本語で覚えれば、意外と素直にわかりやすいです。G-Toolsエクセル関数日本語化というエクセルの関数を日本語にする無料のアプリがあります。エクセルファイル単体で日本語化されていますので、PCの他のエクセルファイルには影響はありません。ワンコイン(1ドル)でご購入できます。エクセルの関数も日本語で覚えれば、意外と素直にわかりやすいです。WordPress%d人のブロガーが「いいね」をつけました。