2016-06-10 21 views
2

Angenommen, ich habe eine Excel-Tabelle mit einer Spalte (zum Beispiel "B"), in der jede Zelle eine andere Dropdown-Liste für die Validierung hat. Meine Anwendung ist so, dass verschiedene Zellen in "B" verschiedene Elemente in den entsprechenden Dropdown-Listen enthalten können. Ich möchte meine Tabelle mit einer anderen Spalte als Schlüssel sortieren, zum Beispiel die Spalte "A", die Datumsangaben in aufsteigender Reihenfolge enthält.Excel VBA: Sortieren einer Tabelle mit Zellen mit Dropdown-Listen

Mein Problem ist, dass Excel-Sortierfunktion (anscheinend) keine Validierungslisten enthält. Daher wird nach dem Sortieren jede Zelle in "B" höchstwahrscheinlich mit der falschen Dropdown-Liste enden. Kann jemand eine einfache Möglichkeit vorschlagen, die Sortierung in VBA so zu implementieren, dass sie die Dropdown-Listen enthält? Ich weiß, ich könnte versuchen, zuerst die Tabelle zu sortieren und dann "B" mit den Dropdowns zu füllen, aber ich möchte diese Option nach Möglichkeit vermeiden.

Antwort

2

Sie haben Recht, Sortieren scheint die Validierungsregeln nicht zu verschieben.

Eine Umgehung wäre, Ihre Validierungsregeln so umzuschreiben, dass sie für alle Zellen gleich sind. Dies kann wie folgt erreicht werden:

  • in einem Block Validierungslisten anordnen, mit den Key Werten geleitet, zB Ihre Beispieldaten

     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 
    
  • dann die Validierung Regel als (List) schreiben (für die Zeile 2) =INDEX($F$2:$J$4,,MATCH($A2,$F$1:$J$1,0)) und kopieren unten

dies den Wert aus der Spalte verwendet A als Nachschlag in Reihe 1, um den Block zu bestimmen, der als Validierungsliste verwendet werden soll.

Verwandte Themen