VBA如何使用具有不同数据类型的元素声明数组

时间:2012-10-25 12:54:21

标签: vba excel-vba excel

我有一个我创建的数组来存储错误记录,它有以下元素: 序列号,文件名,错误类型,错误单元格,错误单元格值

到目前为止,我已经像这样声明了我的数组,然后我在后面填充这些值。

Dim errorArray() As String

但理想情况下,我希望序列号是一个正确的整数,但它会被转换为字符串。我不知道如何正确地声明这一点,以便我可以为第一个元素使用Long数据类型,为下一个元素使用字符串,为最后一个元素使用变体。

2 个答案:

答案 0 :(得分:15)

在代码中创建一个私有类型,如下所示:

Private Type ErrRecord
    SerialNo As Long
    FileName As String
    ErrorType As String
    ErrorCell As String
    ErrorCellValue As Variant
End Type

然后在你的日常工作中,这样称呼:

Dim errorArray(0) As ErrRecord
With errorArray(0)
    .SerialNo = 12345
    .FileName = "Test.xls"
    .ErrorType = "Bad error"
    .ErrorCell = "1234"
    .ErrorCellValue = "Test"
End With

答案 1 :(得分:4)

您需要创建Variant类型的数组。 Variant类型的数组可以在其任何元素中存储任何数据类型。

Dim astrItems(0 To 9)    As String
Dim varItems             As Variant

varItems = astrItems