マクロの値型と参照型の違いを紹介します。ワークシートなどクラスで作成されたオブジェクトが参照型です。別の変数に代入したときに違いがあります。値渡しと参照渡しについては「関数に引数を渡す」をご覧ください。オブジェクト以外すべて値型です。参照型はオブジェクトのことで、クラスで作成されたものです。必要な型はすべてオブジェクトです。ワークシートなどがオブジェクトです。クラスについては「クラス」をご覧ください。値型と参照型の違い参照型を別の変数に代入したときに値型との違いがあります。セル参照を使ったことがあれば理解しやすいと思います。変数だけを持ったクラスで説明します。インスタンス化します。これは新しいセルを参照するのと同じです。Class1インスタンスを別の変数に代入します。これはセル参照をコピーするのと同じです。値をコピーするのではなく参照をコピーする、この部分が値型と参照型の違いです。同じセルを参照しているので、同じ値になります。新しいインスタンスを設定します。これは新たに別のセルを参照することです。インスタンス化する度に、新しいセルを参照することになります。20スポンサーリンクまとめオブジェクト型の変数にはインスタンスが入っています。インスタンスとはオブジェクトの参照先です。その変数を別の変数に代入すると、インスタンスがコピーされるので同じオブジェクトが参照されます。参照先が同じなら、どちらの変数で値を変更しても両方に反映されます。つの変数で別の値を持ちたいのなら、新しくインスタンス化します。新しい参照先になるので、それぞれで別の値を持てます。値型はそのまま値がコピーされるだけなので単純です。参照型はインスタンスを意識すると理解できると思います。プロシージャの呼び出し、または引数が不正です。オーバーフローしました。インデックスが有効範囲にありません。ファイル名または番号が不正です。ファイルが見つかりません。同名のファイルが存在しています。パスが見つかりません。ブロック変数が設定されていません。オブジェクトが必要です。オブジェクトは、このプロパティまたはメソッドをサポートしていません。引数は省略できません。不正なプロパティを指定しています。引数の数が一致していません。不正なプロパティを指定しています。アプリケーション定義またはオブジェクト定義のエラーです。変数が定義されていません。メンバーとしては使用できません。ユーザー定義型は定義できません。