返回列表 上一主題 發帖

[發問] excel vba 如何重新排序下拉選單

[發問] excel vba 如何重新排序下拉選單

求助我以下代碼增加入下拉選單item,
發覺下拉選單內的item不是順序的,我想排到順序,但是又不想影響工作表內的內容。
我應該怎樣寫?
  1.    
  2. Dim A As Range
  3.     Set d = CreateObject("Scripting.Dictionary")
  4.     With ActiveSheet
  5.    
  6.         For Each A In .Range("A4:A600")
  7.           d(A.Value) = IIf(d(A.Value) = "", A.Offset(, 1).Value, d(A.Value) & "," & A.Offset(, 1))
  8.         Next
  9.         company1.List = d.keys
  10.     End With
複製代碼

回復 1# Patrick_Y
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim A As Range, I, D
  4.     Set D = CreateObject("Scripting.Dictionary")
  5.     With ActiveSheet
  6.         For Each A In .Range("A4:A600")
  7.           D(A.Value) = IIf(D(A.Value) = "", A.Offset(, 1).Value, D(A.Value) & "," & A.Offset(, 1))
  8.         Next
  9.         With .Cells(1, Columns.Count).Resize(D.Count)                                       '工作表的最右邊一欄
  10.             .Cells = Application.WorksheetFunction.Transpose(D.keys)                  '導入資料
  11.             .Cells.Sort Key1:=.Cells(1), Order1:=xlAscending, Header:=xlNo         '排序,沒有標題列
  12.             company1.List = .Value
  13.             .Clear                                                                                                      '清除
  14.         End With
  15.     End With
  16. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE


  感謝大大,
已成功排序

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題