2012-10-25 94 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 
相關問題