选择Ran共享文件errorOverflow Vba excel

时间:2017-10-04 15:36:19

标签: excel vba excel-vba drop-down-menu overflow

我开发了一个宏,它在带有动作功能的图形中更新每小时计数器的信息。它感知Worksheet_Change的用户操作转到DATA表并过滤所有具有相同信息的单元格。

enter image description here 单元格B1(验证数据)使用Worksheet_SelectionChange更新,消除了数据中的重复项,然后用户可以选择所需的选项。运行宏时没有任何问题,但是当更新功能过滤超过550个值时。抛出一个MsgBox,并显示以下消息:

enter image description here

该索引之前的所有值都有效,与字符串用户选择无关。这是DATA表的一个例子。

enter image description here

下一个块代码更新下拉列表:

Function Get_CluName()
    Dim Dic_Clu As Object
    Dim i As Long
    Dim Col As Integer

    Set Dic_Clu = CreateObject("Scripting.Dictionary")

    Call InitSht

    If ShtData.Range("B1").Value = "LTE Cell Group" Then
        Worksheets("GRAPH").Range("A1").Value = "Select Cluster:"
        Col = 2
    ElseIf ShtData.Range("D1").Value = "Cell Name" Then
        Worksheets("GRAPH").Range("A1").Value = "Select Cell:"
        Col = 4
    End If

    For i = 2 To ShtData.Range("A1048576").End(xlUp).Row
        If Len(ShtData.Cells(i, Col).Value) > 0 Then
            Dic_Clu(Trim(ShtData.Cells(i, Col).Value)) = Trim(ShtData.Cells(i, Col).Value)
        End If
    Next

    If Dic_Clu.Count > 0 Then
        Worksheets("GRAPH").Range("Z1").Resize(Dic_Clu.Count) = Application.Transpose(Dic_Clu.keys)
        Worksheets("SUMMARY LTE KPI").Range("Z1").Resize(Dic_Clu.Count) = Application.Transpose(Dic_Clu.keys)

        With Worksheets("GRAPH").Range("B1").Validation
            .Delete
            .Add Type:=xlValidateList, Formula1:="=" & Worksheets("GRAPH").Range("Z1").Resize(Dic_Clu.Count).Address
        End With

        With Worksheets("SUMMARY LTE KPI").Range("B1").Validation
            .Delete
            .Add Type:=xlValidateList, Formula1:="=" & Worksheets("SUMMARY LTE KPI").Range("Z1").Resize(Dic_Clu.Count).Address
        End With
    End If
End Function 

**是否有任何选项可以调整下拉列表的内存大小? **因为它似乎溢出了清单。

1 个答案:

答案 0 :(得分:0)

问题解决了!

这是由于一些变量被声明为Integer进入某些函数,重新声明为long是解决方案。