3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

「自動クイックヒント」を使いこなそう(その1) – Excelマクロ・VBA

2012年2月2日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

「自動クイックヒント」を使いこなそう(その1) – Excelマクロ・VBA

エクセルマクロ・VBA達人養成塾 小川です。

今日は、中級者向け?のTipsを。エクセルマクロ・VBAでプログラムを書いているとき、引数の順番とか、引数のデータ型に迷ったり、名前付き引数の名前を正しく書けなかったり、といったトラブルはありませんか。例えば、こんな感じ。

  • Left関数の第一引数って、文字列だったっけ?数値だったっけ?
  • Sortメソッドで並べ替えするとき、第一条件って、「KeyA」てっ書くんだっけ?「OrderA」って書くんだっけ?

今日は、そんな問題を回避するための、分かれば便利なテクニックを。まずは、これからご紹介するテクニックを利用可能な状態になっているかどうか、設定の確認から。

エクセルマクロ達人養成塾塾長ブログ-[ツール] → [オプション]

開発環境(Visual Basic Editor 略称VBE)のメニューバーで、[ツール] → [オプション]を選択します。

エクセルマクロ達人養成塾塾長ブログ-「自動クイックヒント」にチェックを入れる

「編集」タブに、「自動クイックヒント」というボタンがあります。チェックが入っていることを確認します。(デフォルトの設定のままなら、入っているはずです)では、Left関数でも書いてみますか。サブプロシージャを、ひとつ作ります。以下まで、書いてください。

Sub hoge()
Dim s As String s = left
End Sub

そうして、leftのあと、カッコ「 ( 」を書きます。そうすると、以下のように、メッセージがでてきます。小さくて黄色いヤツ。

エクセルマクロ達人養成塾塾長ブログ-「自動クイックヒント」で第一引数が表示された

Left(String, Length As Long)とのこと。これ、どういうことかというと。ざっくり言うと、

  • Left関数の第一引数は、String、つまり、「文字列」だよ
  • Left関数の第二引数は、Length As Long、つまり、「長さ」だよ。この引数で渡すデータは、「Long型」、つまり、「整数として解釈し得る値だよ」
  • そして、今、Left関数の第一引数を入力中だよ

という意味です。太字になっているのが、今扱っている引数に関する部分。ふんふん、なるほど。てことで、ひきつづき、以下まで書いてみる。

Left(“あらのよろし”,

すると、今度は、表記がこうなった。

<エクセルマクロ達人養成塾塾長ブログ-Left関数での、第二引数

Left(String, Length As Long)となっている。これは、

  • Left関数の第一引数は、String、つまり、「文字列」だよ
  • Left関数の第二引数は、Length As Long、つまり、「長さ」だよ。この引数で渡すデータは、「Long型」、つまり、「整数として解釈し得る値だよ」
  • そして、今、Left関数の第二引数を入力中だよ

ということです。こんな感じに、関数を書くとき、その引数を教えてくれるんですね。便利です ヾ(´ー`)ノ

エクセルマクロ達人養成塾塾長ブログ-ヘルプで調べてみた

Left関数について、ヘルプで調べてみました。赤枠でくくった部分が、この関数の引数について解説している部分。やはり、渡す引数は「String, Length」ですね。Lengthについては、よく読んでみると、「Long型として解釈し得る値を指定しろ」という趣旨のことが書いてあります。

Sort等の「メソッド」でも、同様です。

参考までに、Sortメソッドのヘルプも貼りつけておきます。まあ、参考にしてください ヾ(´ー`)ノ

エクセルマクロ達人養成塾塾長ブログ-「自動クイックヒント」機能は、自作の関数に対しても同様に機能します。

「自動クイックヒント」という機能は、自作の関数についても同様に機能します。なので、普段から、自作の関数を作るときも、引数のネーミングには気をつけましょう。極端な例ですが、上記の自作関数であれば、引数の名前も、「s, i1, i2」とかよりも、以下のようにしたほうが数段勝ります。

エクセルマクロ達人養成塾塾長ブログ-引数には、可読性の高い名前を!

引数には、可読性の高い名前を!自作関数を作るとき、引数の名前からはどの引数にどういう値を入れるべきか分かるようにしておかないと、その関数を呼び出すマクロを書くとき、いちいちその関数を書いたところまで見にいって確認しなくてはなりません。今回紹介したサンプルでは近くにあるから迷いませんが、これが、その自作関数が別プロシージャにあったり、同一モジュール内でも、遠くにあったりすると、いちいち確認するのがかなり面倒になります (´・ω・`)あ、あと、この「自動クイックヒント」という機能。人によっては、「自動パラメータヒント」と呼ぶ人もあります。て、ことで。エクセル仕事をたくさん抱えているあなた。お申し込みは、こちら↓です。ベタな初心者の方は、「基礎コース」へ。


お知らせ:「エクセルデータ分析7つの上級技」、本格的にキャンセル待ちになりました。「親指シフト達人養成塾」も、もう〆切り間近です (´・ω・`)

「親指シフト達人養成塾」 (あと1名)

「エクセルデータ分析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

●ジーザス小川の個人サイト「こねこねのさいと」へはこちらから

http://www.exvba.com/

キーワード

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド