質問を再構築しました:範囲 (ヘッダーを含む) を使用して配列を定義し、それを初期化してテーブルからデータを抽出しました。物事は (冗長で繰り返されるコードで) うまくいきましたが、配列を Excel の行に直接書き込むことができました。
しかし、コードには検証と初期化が必要だったため、両方の要件をカプセル化するクラスに移行しました。動的実装では、クラスを で書き直す必要がありましたInsertLines
。
問題は、クラスにデータがあることですが、それを単一の行に書き込む方法がわかりません。
以前のアルゴリズム:
Dim MyRange as Range
Dim sTR() as string
'set myrange to a specific range of cells'
'Redim the sTR array to match the number of unique variables in the range
'Extract values from multiples rows in a table to the sTR array'
'Write the array to the Excel file with:'
MyRange.Offset(x, y).value = sTR()
現在の方法:
Dim MyRange as Range
'set myrange to a specific range of cells (Nine columns and variable rows)'
'InsertCode into a class module with all unique values in the range as public variables
Dim sTR as ClassX
Set sTR as New ClassX
'Extract values from multiples rows in a table to the sTR Class'
ここでの問題は、クラス内の変数の順序がわからないことです (これは、配列を使用した以前の方法では問題ではありませんでしたが、その方法には確かにコードの冗長性が多すぎます)。
助けてください!私の問題を解決する別の名前 (エイリアス) で変数をアドレス指定できるかどうかを知りたいです。または、クラス内のすべてのパブリック変数に対処する方法はありますか (たとえば、ループを使用)?