超初心者の時に必要な技。オブジェクトだという事。」そして、その扱い方。それと、ちょっと難しいけど、オブジェクトのコレクションの考え方。これを把握してしまえば、あとは、自分のやりたい事が、どのオブジェクトのなんというプロパティーやメソッドを使えばいいか、ネットで調べるだけ。これを説明するときに、一緒に教えたのが、デバッグの方法。エクセルマクロは、ぜんぶ書き上げてから動かすよりも、チョットずつ書いて試す方がいい。プロシジャーを用意する。プロシジャーの中をクリックしてカーソルを移動させて、プレイボタンで実行する。(これをしないと、実行可能なプロシジャーの一覧が出てしまい、とまどう。写真のように(クリックで拡大)、見たい変数のある「次の行」の左側の欄外をクリックして、茶色のブレークポイントを設定する。(もう一度クリックで解除)その状態で実行すると、ブレークポイントで実行が止まるので、見たい変数のところにカーソルを持って行くと、写真のように、ツールチップみたいな感じで変数の値を見る事が出来る。ように直接中身が見れない変数は、その変数を選択して反転表示にし、右クリックで「ウォッチ式の追加」をやると、画面下の様に追加される。忘れていけないのは、マクロが完全に終了してしまうと、メモリがクリアされてしまうのこと。」のところにブレークポイントを張っておくと安心。ここまで出来れば、後は根性。(関数)プロシジャーで、配列とか構造体とか、複数の値を渡す・返す方法。配列を引数として渡す方法。この場合、参照渡ししか許されない。呼び出すときは、こんな感じ。プロシジャーから、配列を返すこともできる。func1(h)こんな感じで受け取る。戻り値データは、値渡しで返される。型じゃないといけない。EXCEL'97では、この記述はできなかった。Function配列を使わずに、複数のデータを渡す場合は、ユーザー定義型の変数を使う。C言語で言う、構造体のようなもの。Typeのような形で定義できる。TypeTest.aという感じで、構造体の様にメンバを参照できる。戻り値として返す関数は次のように定義する。Functionこんな感じ。Tfunc(10)の様にして、受け取る。ユーザー定義型は、配列としても使える。TypeTestここで、注意。t(1).h(1)の様に、各インスタンスごとに、動的配列の領域を再確保しなくてはいけない。このパターンは、できれば使いたくない。ユーザ定義型変数の配列を、引数・戻り値に持つ関数の定義方法。(引数をそのまま返す例。型の[動的]配列で受け取らないといけない。型では受けられないので、注意が必要。ここまで使うかは疑問だけど、いつか、使うときのために、メモ、メモ。この記事が役に立ったら、「拍手」で知らせて下さい。プロシジャー呼び方と、引数の値渡しと参照渡し。プロシジャーの使い方を間違っていた。いうっか知らなかった。func1(引数)という形で使うものだとばかり思ってた。func1(引数)の、どの呼び方もできる。呼ぶと、引数は参照渡しになりそのまま実行すると、引数は値渡しになるって事。func1(引数)の形で、普通の関数の様に呼んだときは、引数は値渡しになる。(ただし、配列を引数に渡す場合は、参照渡しのみ。ソフト仕様って、「余計なお世話」を押しつけすぎ。この仕様の、意図が分からない。Integerの様に、明示的に指定しようかと思う。間違ってたら、エラーになるし。