2016-06-10 159 views
2

假設我有一個Excel表格,其中包含一列(例如「B」),其中每個單元格都有一個用於驗證的不同下拉列表。我的應用程序是這樣的,「B」中的不同單元格可能在其相應的下拉列表中包含不同的項目。我想用一個不同的列作爲關鍵字對我的表進行排序,例如列「A」,它包含日期,按升序排列。Excel VBA:使用下拉列表對單元格進行排序

我的問題是,Excel的排序功能(顯然)不包括驗證列表。因此,排序後,「B」中的每個單元格很可能最終會出現錯誤的下拉列表。有人可以建議一種簡單的方法來實現VBA中的排序,使其包含下拉列表?我知道我可以先嚐試對錶格進行排序,然後用下拉列表填充「B」,但如果可能,我想避免使用該選項。

回答

2

你是對的,排序似乎不移動驗證規則。

解決方法之一是將所有單元格的驗證規則重寫爲相同。這可以如下實現:

  • 使用您的樣本數據

     F G H I J 
    1 1 2 3 4 5 
    2 1a 2a 3a 4a 5a 
    3 1b 2b 3b 4b 5b 
    4 1c 2c 3c 4c 5c 
    
  • 然後寫驗證規則爲安排您的驗證列出了塊,與Key值爲首,如(表) (用於行2)=INDEX($F$2:$J$4,,MATCH($A2,$F$1:$J$1,0))和複製下來

這使用從A列的值作爲查找在行確定要用作驗證列表的塊。

相關問題