変数にmyRngとかmyNumってよく見ますよね。
myRng.SpecialCells(xlCellTypeVisible).Value = myNum
みたいなやつ。
この「my」はどういう意味かというと、
そのまま「自分で作った」とか「自分で使う」という意味です。
変数ですから、当然と言えば当然ですね。
この変数名には役割があり、例えば冒頭のコードでは、
myRng.SpecialCells(xlCellTypeVisible).Value = myNum
- 「my」があるものは自分で作ったもの、
- それ以外がMicrosoftが作ったもの
と読み分けやすくしています。
初めて見るプロパティやメソッドでも、「my」がつくことで、
どれが変数でどれが構文かすぐにわかる。
ということですね。
さてここで↓のコードを見てください
セル範囲.SpecialCells(xlCellTypeVisible).Value = 入力値
どれが変数でどれが構文か、信じられないほど明確ですよね?
変数が私のものであることを示すのにmyなんていらないんですよ。
私の言葉を使えばそれは私のものなんですから。
私がこのブログを立ち上げるにあたった浅い歴史を紐解くと、
私は初心者の時、どれが構文でどれが変数かを見分けるのに非常に苦労しました。
コードを読んでいくときに、遡ってDimをわざわざ探したり、
いちいち構文を説明しているテキストと読み比べたり。
xlCellTypeVisibleが定数なんて分かりませんからね。
このDimも探しに行っちゃうわけですよ。
みなさんもそんな経験ありませんかね?
そして見かけたこんなコード↓
セル範囲.SpecialCells(xlCellTypeVisible).Value = 入力値
に、本当に感動したことを覚えています。
その時はまさかこんなにVBAを勉強し、
解説サイトまで立ち上げるとは思ってもいませんでした。
でも思い返せばあの時の感動が、
このサイトの始まりだったように思います。
実際に書くコードの変数名に日本語を使うかどうかはさておき、
SpecialCellsを初見の人に説明するなら、これがベストなコードだと思います。
日本語っていうのはただ書いただけで「my」の意味を持ちます。
このメリットを享受できるのは、母国語が2バイト文字の民族だけです。
英語を母国語とする方々はおろか、欧州の方々にもできないことです。
そんなサンプルコードをネットの海に垂れ流すために、
今日も私はブログを書きます(`・ω・´)