これは、もし返る値のデータ型を何も指定しなければ、例えば数字が返ってきてもそれは「文字列型」の数字で、「計算のできない」もの、です。「数値」ではなく「数字」です。このとき、その「単なる数字」を「計算のできる」「数値だ」と「勘違い・思い込み・決めつけ」をしていると、エラーを起こすことがあります。Variant型に代入しても「文字列」に内部変換されますし。(VBAは文字列型のデータでも、場合によっては計算ができてしまうことがあるのでタチが悪いです。Variant型という型が「隠れみの」になってしまうので。その場合、エラーの原因がさらに掴みづらいからタチが悪いです。)そういうことを、オブジェクトブラウザやヘルプを使うことで、「返る値の型」を調べられるので、回避できる、場合もある、というわけです。×××」と出るので、「ああ、オブジェクトじゃなくて列挙が返ってくるんだな」とわかります。3」と出るので、「ああ、一般データのうちの数値側のデータが定数として返ってくるんだな」ということがわかります。なんだ」ということもわかります。「vbAbort」で完全一致で検索すれば、出てきますので。返ってくるモノが(下位か上位かはたまた別のものかはすぐにはヘルプを読まないとわかりませんが、)「とにかくオブジェクトだ」ということが分かれば、それを「オブジェクト変数に代入できる」ということも確実となります。「返ってくるモノが」、「オブジェクトかどうかだけをまずはチェックしたい」という時にもスピーディに検索してチェックできます。そもそも「返ってくるものがある・ない」がわからないと、プログラムを書いても「エラー」になることが多いです。そもそもですが、「返ってくる」とか、「返り値(=戻り値)」、の意味・感覚が分からなかったら、本当に良くない言い方ですみませんが、「もう本当に目もあてられません」みたいなことになってしまいます。「今現状以上は」「何ひとつとして・理解できない・・・・」という状況に陥ってしまいます。プロパティやメソッド、各種関数、誰かの作った関数、(ひいては演算子なども)、といった「言わば命令たち」を扱うときは、まず最初に「そもそも返ってくるモノがあるのかないのか?」「で、もし、返ってくるとするなら、それは値(一般文字系データ)なのかそれともオブジェクトなのか?」をチェックする必要があります。「メソッドと各種の関数」、あと、もしかしたら「演算子」も??。(思いもよらないものが返ってくることがあるので。=エラーの原因・誘発剤が返ってくることがあるので。)もちろん、「プロパティも」、ですが・・・。その後、「返ってくるなら何が返ってくるのか?」をチェックしておきます。(これも、思いもよらないものが返ってくることがあるので。=エラーの原因・誘発剤が返ってくることがあるので。リレーしていく・・・・間違えないように・・・』、という場面・作業が多いです。つないでいく・リレーしていく」ということが「できなくなる」ため、これまたエラーの原因になります。これも「メソッドメソッドと組み込み関数、プロパティも」、「同様」です。それらを最初に教えてくれない講師や市販書籍が多すぎるので、「エラーが出てからでいいよ」みたいな、超いい加減な教え方ばっかりになってしまい、結果、私たち初心者・独学者は、逆に、エラーが出てから右往左往することになってしまいます。エラーの解決方法がわかりません。「型がおかしいからエラーになっている」ということにすら気づけなかったり、気づけても・どう対処したらいいかの「あたりすらつけられない」という状況に追い込まれてしまいます。Webのサンプルコードも当然、「チンプンカンプン」で「読めません」。Q&Aサイトで回答してもらったVBAコードも、同様です。聞いたはいいけど、「チンプンカンプン」で「読めません」。繰り返しますが、VBAに限らず、どんなプログラム言語でも、変数の「型」と「型」を常に同じにして「繋いでいく=リレーしていく」という側面があります。そこから逸脱すれば当然エラーになります。』から、「もし」「逃げた」とすれば、「それはもはやプログラミングではない」、とも言えるとも思います。言いますと、こんな低レベルなことを書かないといけないのは、数あるプログラミング言語の中で、ExcelVBA教育業界だけだと思います。(「変数の型宣言なんか全部Variantでいい」というメチャクチャな講師・書籍が、他のプログラミング言語の講師さんや書籍よりも多すぎるので。)真剣に考えてくださいよ?変数の型の使い分け「すら」をする意欲「すら」ない人=そんなレベルのことすら拒否する人=文章の読めない人・文章を読みたくない人が、のちのち、中級になど上がれると思いますか?のちのち、自分の思うプログラムが書けると思いますか?のちのち、エラーが自力で解決できるようになると思いますか?甘やかすのもいいかげんにしたほうが初心者のためではないですか?避けて通れないものは避けて通れないんですよ?なら、初心者にもすぐにわかるように、講師や著者ががんばる・準備を怠らない・「以外」、ないんじゃないですか?講師や著者が「初心者の方がたにちゃんと寄り添う」「以外」ないんじゃないですか?もちろん、初心者本を書いたとしても、そこで、「本書の中だけです。ややこしくなるから変数を全部Variant型にしてしまったり、Rangeから書き始めたりしますが、これはサンプル用限定の書き方ですから、本番では絶対にやらないでください。本書を学習後は、必ず、オブジェクト変数の学習と値やオブジェクトを返す自作関数の学習はかならずおこなってください。」と但し書きを絶対に書くべきです。え直してほしいと思います。(03)イミディエイトウィンドウでのTypeName関数+Parentプロパティ・あるいはローカルウィンドウとともに、「上位のオブジェクトそのメンバーには何があるか」を調べることで、階層構造やその他の事の理解をより深めることができる。(04)同名のプロパティやメソッドの親オブジェクトに別のものがないか?間違ってないか?を調べることができます。ExcelVBAには、同名のプロパティやメソッドがあります。同名のプロパティが多いでしょうか?でも、同名のプロパティやメソッド等は、「親オブジェクト」が変わると、まったく意味の違うものになることがあります。プロパティ」などです。プロパティ」でも、それぞれ、まったく意味合いが異なります。意味合い的に似ていたとしても、「似ているだけでまったく同じではない」ので、「名前が同じなんだから・使い方もまったく同じだろう」と勝手に「決めつけている」と、エラーに見舞われます。「決めつけている」がゆえに、ヘルプを読もうともしないため、エラーが解決できません。』なのに、3日も4日も悩む羽目になってしまいます。ヘルプを検索した時に、プロパティ名やメソッド名で検索すると、親オブジェクトが自分の目的と違うモノが、検索結果の先頭にヒットしてしまうことがあります。そのようなとき、先に、オブジェクトブラウザで親オブジェクトを(自分の目的と合致するかどうか)確認しておいてから、F1キーでヘルプを表示すると、スムーズに調べられることが多いです。「省略された書き方の場合」に落とし穴(エラーが誤動作の原因)がないか?(オブジェクト式その他)・・・等々を調べることできます。(05)プロパティやメソッドが何を返してくれるのかを調べる。返ってくるものがオブジェクトならオブジェクト変数に代入できます。×××」を見ればわかります。「×××」の部分がグリーンの下線リンクになっていれば、「オブジェクトか列挙(定数の集まり)などが返ってくる」と判断できます。それがオブジェクトか列挙か?を判断するには、その下線リンクをクリックして、クリックした直後の説明ペインを見ます。×××・・・・」で始まっていれば「列挙(定数の集まり)」です。)が返ってくる」と判断できます。※列挙(Enum)に含まれる「定数」は、数値や「vb××××」の形で返ってきます。「文字ベースのデータの仲間」と思って頂いてOKです。基本、「返ってくるものがどんなタイプ(型)のデータか?」がわかれば、エラーの原因調査にも使えることが多いです。ヘルプもF1キーですぐに連動起動できるので、詳細調査にもいいです。(特に2010以前のヘルプ)なので、エラーが出たら、オブジェクトブラウザやヘルプで「かえってくる値やオブジェクトがあるのかどうか?」「もしあるなら、それがどんな型の何なのか?」をまず最初にチェックします。(「値」には「列挙(定数の集まり)」も含まれます。)それからでないと、エラーの原因をひとつひとつ潰していけません。「Webなんかで調べる必要なんてまるでないのに」いちいちWeb検索・・・。検索にヒットした内容も基本がわかってなければ意味が分からないのにWeb検索・・・。挙句の果てに、3分で解決できるエラーなのに、最悪、3日も、4日も、時にはQ&Aで聞く羽目になってしまう・・・という「ムダ」をおかして、悩む羽目になってしまいます。(もちろん、僕自身も経験してきたことです。本当に書籍著者の教え方がいい加減なので苦労しました。)(06)「コレクション」には何があるかを一覧表示させる。「Item」で「完全に一致する単語だけを検索」すると、コレクションがずらずらっと出てきます。「Item」にはプロパティとメソッドがあります。「Item」がプロパティなのかメソッドなのかを知りたいときがもしあれば、便利です。あと、プロパティだとばかり思っていたものが、実はメソッドだった、というのも、たまに、オブジェクトブラウザで気づくこともあります。プロパティかと思ってたら、実はメソッドだった・・・みたいな。いうことも、エラーに関係することが「無いではない」ので注意が必要です。ヘルプにも書いてあるわけなんですが、「プロパティ」と「思い込んでしまっている」ため「ヘルプを探そうともせず」、結果、ヘルプからは気づきにくいです。(07)TypeName関数+Parentプロパティや、TypeName関数オンリーでオブジェクトの型を調べながらオブジェクトブラウザ併用すると、階層構造がより明確になったり、その他のことがわかったり、「気付き」をくれる。これは「イミディエイトウィンドウ」でのことです。