|
皆様、初めまして。珍念と申します。
タイトルにもありますが、クラスモジュール内でのvariant型配列変数の使い方について、分からない点があります。以下に書き出します。
--------------------------------------------------------------------------
・クラスモジュール内で配列変数(variant型)を使用するには、Private Type内で記述する必要がある?
⇒現在は他に使い方が分からない為、この方法を用いて記述しています。
以下コーディング
↓↓↓↓
Private Type テーブル
サブ名 As String
データ() As Variant ←問題となっている配列変数
開始行 As Integer
終了行 As Integer
開始列 As Integer
終了列 As Integer
行数 As Integer
列数 As Integer
End Type
--------------------------------------------------------------------------
・この配列変数(variant型)を使用して、EXCELシートにあるデータを格納するメソッドを作成します。
⇒ここから先、このメソッドで作成した配列変数(variant型)を使いまわす事がうまくいきません。以下に問題事項をあげます。
--------------------------------------------------------------------------
【問題1】
この配列変数をプロパティとして扱いたいが、このプロパティ内で再度ユーザ定義型変数を宣言する必要があり、宣言すると配列変数(variant)の値がクリアされてしまう。
以下コーディングです。
Public Property Get テーブルデータ()
Dim tbl As テーブル ←ここで再度ユーザ定義型宣言しないと使えない
テーブルデータ = tbl.データ でも宣言すると値がクリアされてしまう。
End Property 結局なにもデータが格納されない。
エラーは出ない。
【問題2】
そこで、クラスモジュール内で使いまわせる方法があればと思い、Private TypeをPublic Typeに変更して記述してみましたが、「オブジェクトモジュール内ではパブリックユーザー定義型は定義できません」のエラーがでてしまう為、これもうまくいきません。
---------------------------------------------------------------------------
どなたか、【問題1】【問題2】どちらでも良いので分かる方はご教授願います。
|
|