エクセルマクロ・VBA達人養成塾 小川です。
今日は、中級者向け?のTipsを。エクセルマクロ・VBAでプログラムを書いているとき、引数の順番とか、引数のデータ型に迷ったり、名前付き引数の名前を正しく書けなかったり、といったトラブルはありませんか。例えば、こんな感じ。
今日は、そんな問題を回避するための、分かれば便利なテクニックを。まずは、これからご紹介するテクニックを利用可能な状態になっているかどうか、設定の確認から。
開発環境(Visual Basic Editor 略称VBE)のメニューバーで、[ツール] → [オプション]を選択します。
「編集」タブに、「自動クイックヒント」というボタンがあります。チェックが入っていることを確認します。(デフォルトの設定のままなら、入っているはずです)では、Left関数でも書いてみますか。サブプロシージャを、ひとつ作ります。以下まで、書いてください。
そうして、leftのあと、カッコ「 ( 」を書きます。そうすると、以下のように、メッセージがでてきます。小さくて黄色いヤツ。
Left(String, Length As Long)とのこと。これ、どういうことかというと。ざっくり言うと、
という意味です。太字になっているのが、今扱っている引数に関する部分。ふんふん、なるほど。てことで、ひきつづき、以下まで書いてみる。
すると、今度は、表記がこうなった。
<
Left(String, Length As Long)となっている。これは、
ということです。こんな感じに、関数を書くとき、その引数を教えてくれるんですね。便利です ヾ(´ー`)ノ
Left関数について、ヘルプで調べてみました。赤枠でくくった部分が、この関数の引数について解説している部分。やはり、渡す引数は「String, Length」ですね。Lengthについては、よく読んでみると、「Long型として解釈し得る値を指定しろ」という趣旨のことが書いてあります。
Sort等の「メソッド」でも、同様です。
参考までに、Sortメソッドのヘルプも貼りつけておきます。まあ、参考にしてください ヾ(´ー`)ノ
「自動クイックヒント」という機能は、自作の関数についても同様に機能します。なので、普段から、自作の関数を作るときも、引数のネーミングには気をつけましょう。極端な例ですが、上記の自作関数であれば、引数の名前も、「s, i1, i2」とかよりも、以下のようにしたほうが数段勝ります。
引数には、可読性の高い名前を!自作関数を作るとき、引数の名前からはどの引数にどういう値を入れるべきか分かるようにしておかないと、その関数を呼び出すマクロを書くとき、いちいちその関数を書いたところまで見にいって確認しなくてはなりません。今回紹介したサンプルでは近くにあるから迷いませんが、これが、その自作関数が別プロシージャにあったり、同一モジュール内でも、遠くにあったりすると、いちいち確認するのがかなり面倒になります (´・ω・`)あ、あと、この「自動クイックヒント」という機能。人によっては、「自動パラメータヒント」と呼ぶ人もあります。て、ことで。エクセル仕事をたくさん抱えているあなた。お申し込みは、こちら↓です。ベタな初心者の方は、「基礎コース」へ。
お知らせ:「エクセルデータ分析7つの上級技」、本格的にキャンセル待ちになりました。「親指シフト達人養成塾」も、もう〆切り間近です (´・ω・`)
●塾長のTwitterはこちらです↓。フォローお待ちしていますね。
http://twitter.com/kanjizaibosatsu
●無料PDFレポート「誰もが知っているWindowsの、誰も知らない12の技」
http://www.exvba.com/freereport/index.php
●法人研修のお問い合わせはこちら
https://sv86.wadax.ne.jp/~exvba-com/closed/toiawase_houjin.php
●ジーザス小川の個人サイト「こねこねのさいと」へはこちらから