Spalten selektieren

09/06/2010 - 21:01 von Berger | Report spam
Hallo!!
Ich möchte, variabel, Spalten markieren, um sie zu sortieren. Dies klappt
bis zur Spalte "Z". Darüber hinaus kommt die Fehlermeldung " Typen
unvertràglich ".
Wie muß ich den folgenden Code àndern, damit es auch bei höheren Spalten (
AA-BZ) funktioniert?

ziel = Chr(64 + spalte)
Columns(ziel + ":" + Chr(64 + spalte + 2)).Select
Selection.Sort Key1:=Range(ziel + Format(2)), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Kann mir jemand Helfen?
Vielen Dank, Gruß Johann
 

Lesen sie die antworten

#1 Peter Schleif
10/06/2010 - 06:58 | Warnen spam
Berger schrieb am 09.06.2010 21:01 Uhr:

Ich möchte, variabel, Spalten markieren, um sie zu sortieren. Dies klappt
bis zur Spalte "Z". Darüber hinaus kommt die Fehlermeldung " Typen
unvertràglich ".
Wie muß ich den folgenden Code àndern, damit es auch bei höheren Spalten (
AA-BZ) funktioniert?



Du kannst die Variable "spalte" direkt in der Columns-Auflistung
verwenden. Dann gibt es keine Probleme mit dem Alphabet.

Columns(spalte).Select

Wenn ich deinen Code richtig verstehe, möchtest Du die Spalte auswàhlen,
deren Nummer in der Variablen "spalte" steht, sowie die beiden Spalten
rechts daneben – zumindest macht das dein Code bei mir, wenn ich spalte
eine beliebige Nummer gebe. Etwa so:

Columns(spalte).Resize(, 3).Select

Auch bei Key1 der Sort-Anweisung kannst Du "spalte" direkt in die mit
einer Cells-Angabe verwenden. Du brauchst auch hier keinen Range-String
zusammensetzen:

Selection.Sort Key1:=Cells(2, spalte)

Und weil man einen Bereich nicht selektieren muss um ihn zu sortieren,
könntest Du alles in einer Anweisung zusammenfassen:

Columns(spalte).Resize(,3).Sort Key1:=Cells(2,spalte), _
Order1:=xlAscending, Header:=xlGuess, MatchCase:=False

Peter

Ähnliche fragen