0
我開發了一個宏,該宏使用動作函數更新圖形中每小時計數器的信息。它通過Worksheet_Change
來感知用戶的行爲,並轉到數據表並使用相同的信息過濾所有單元格。選擇Ran共享文件錯誤超鏈接Vba excel
使用Worksheet_SelectionChange
更新單元格B1(驗證數據),從而消除數據中的重複項,然後用戶可以選擇他們想要的選項。運行宏時沒有任何問題,但是當更新函數過濾超過550個值時。一個MsgBox拋出以下消息:該指數正在
所有值之前,它不與字符串用戶選擇無關緊要。這是一個DATA表的例子。
下一塊代碼更新的下拉列表:
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
**是否有任何選項來調整大小的下拉列表中的記憶? **,因爲它似乎溢出了名單。