0

私は、社内で Excel マクロを作成する初心者のライターです。いくつかの異なる方法で当面の問題に取り組むことができますが、最も効率的で従来の方法についてアドバイスをお願いします。

マクロは、入力ファイルからデータを取得し、このデータを 2 番目の入力ファイルの他のデータと比較する必要があります。これらのファイルの構造は一貫していますが、含まれるデータは明らかに異なります。各ファイルには、最大 96 個のサンプルの情報を含めることができます。各サンプルには最大 20 の情報カテゴリがあり、各カテゴリには 10 個のデータがある場合があります。したがって、各サンプルには最大 200 個のデータが関連付けられている可能性があります。

この情報を保存する最良の方法は、オブジェクトを定義するクラスを作成してから、次のようなオブジェクトのコレクションを作成することです。

Dim Samples as Collection
Dim Smp as CSample

Set Samples = New Collection

For x = 1 to NumberOfSamplesInFile
   Set Smp = New CSample
   'Set the properties of Smp for each piece of data
   Samples.Add Smp
Next x

Smp の特定のプロパティを配列にすることができると思いますか? つまり、クラスのプロパティを次のように定義できます。

Private pSampleID as String
Private pAreaUnderCurve(1 to 10) as double
Private pRetentionTime(1 to 10) as double

そのような

Smp.SampleID = "XYZ"

しかし

Smp.AreaUnderCurve(1) = 1234
Smp.AreaUnderCurve(2) = 2345
Smp.AreaUnderCurve(3) = 123.78

保持時間についても同じです(明らかに異なる値)?

これを行うと想像した別の方法は、 Type 宣言を使用することです。

Type Sample
   SampleID as String
   AreaUnderCurve(1 to 10) as double
   RetentionTime(1 to 10) as double
End Type

私の質問は、どの方法が最も一般的/推奨ですか?

4

1 に答える 1

1

また、2 つのファイルを 2 つのワークシートで Excel にインポートし、ループを実行するか、式を入力してレコードを一致させ、一致しないデータを強調表示することにより、比較を実行することもできます...

データ ファイルの形式は、Excel にインポートするのに適していますか?

于 2013-03-06T15:40:12.377 に答える