对从输入文件解析数据的大多数传统方法的建议

时间:2013-03-06 15:29:36

标签: vba excel-vba excel

对于我公司的人来说,我是Excel Macros的新手作家。我可以通过几种不同的方式解决手头的问题,但希望以最有效和最传统的方式提供一些建议。

宏需要从输入文件中检索数据,并将此数据与第二个输入文件中的其他数据进行比较。这些文件的结构是一致的,但它们包含的数据明显不同。每个文件可能包含最多96个样本的信息。每个样本有大约20个类别的信息,每个类别可能有10个数据。因此,每个样本最多可以包含200个与之相关的数据。

在我看来,存储此信息的最佳方法是创建一个Class来定义一个Object,然后拥有这些对象的集合,如:

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

我的问题是哪种方式最常规/推荐?

1 个答案:

答案 0 :(得分:1)

您还可以将两个文件导入到2个工作表中的Excel中,然后通过循环或输入公式来匹配记录并突出显示不匹配的数据来对它们进行比较......

数据文件的格式是否适合导入Excel?