VBA调试器仅显示集合的256个元素

时间:2015-06-16 12:06:31

标签: excel-vba debugging collections vba excel

标题解释了我的问题。我正在研究excelmakro和 我的问题是,是否有一个选项,调试器显示所有元素,就像它与数组一样?

如果没有,那么在对集合进行充气后,我的classobjects在数组中的存储是唯一的解决方法吗?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

答案似乎是否定的 - 但是下面的内容可能有所帮助。一个简单的实验表明它可以在调试模式下在立即窗口中使用:

Sub display(col As Collection)
    Dim i As Long
    Dim it As Variant
    Dim itType As String
    For i = 1 To col.Count
        it = col.Item(i)
        itType = TypeName(it)
        Debug.Print "Item " & i & " -- Value: " & it & " -- Type: " & itType
    Next i
End Sub

答案 1 :(得分:0)

您可以使用debug.print并将输出写入即时窗口并绕过限制。

我几乎可以肯定,没有办法增加这个限制,但也许其他人可以给出一个def。回答。

答案 2 :(得分:0)

在我的例子中,集合的元素可以是数组。

John Coleman的sub可以改进为覆盖(至少一维)数组:

Sub display(col As Collection)
    Dim i As Long
    Dim it As Variant
    Dim itType As String
    For i = 1 To col.Count
        it = col.item(i)
        itType = TypeName(it)
        If Not IsArray(it) Then
            Debug.Print "Item " & i & " -- Value: " & it & " -- Type: " & itType
        Else
            Debug.Print "Item " & i & " -- Values: [" & Join(it, ", ") & "] -- Type: " & itType
        End If
    Next i
End Sub