我是我公司人员的 Excel 宏的新手作家。我可以通过几种不同的方式来解决手头的问题,但想要一些关于最有效和最传统的方式的建议。
宏需要从输入文件中检索数据,并将此数据与第二个输入文件中的其他数据进行比较。这些文件的结构是一致的,但它们包含的数据明显不同。每个文件最多可包含 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 Sample
SampleID as String
AreaUnderCurve(1 to 10) as double
RetentionTime(1 to 10) as double
End Type
我的问题是哪种方式最传统/推荐?