Board logo

標題: [發問] excel vba 如何重新排序下拉選單 [打印本頁]

作者: Patrick_Y    時間: 2016-8-5 13:49     標題: 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
複製代碼

作者: GBKEE    時間: 2016-8-8 06:08

回復 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
複製代碼

作者: Patrick_Y    時間: 2016-8-9 17:04

回復 2# GBKEE


  感謝大大,
已成功排序




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)