2012-10-25 71 views
3

我有一个数组,用于存储错误记录,它具有以下元素: 序列号,文件名,错误类型,错误单元格,错误单元格值VBA如何声明具有不同数据类型的元素的数组

截至目前我已经宣布我的数组是这样的,然后我填充值后面。

Dim errorArray() As String 

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

回答

3

你想创建类型的数组变种。 Variant类型的数组可以在任何元素中存储任何数据类型。

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

varItems = astrItems 
+1

很明显,但我错过了它。实际上,我在想我宣布了一个Variant类型的数组,所以当我看到您的回复时我有点困惑。谢谢。 –

14

在你的代码创建一个私有类型,像这样:

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 
相关问题