6

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

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

Dim errorArray() As String

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

4

2 回答 2

25

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

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
于 2012-10-25T13:01:07.857 回答
7

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

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

varItems = astrItems
于 2012-10-25T13:03:05.767 回答