Microsoft Excel

Herbers Excel/VBA-Archiv

Sortieren ohne Formatierung

Betrifft: Sortieren ohne Formatierung von: Alexander Nachtwey
Geschrieben am: 12.08.2008 16:42:09

Habe ein VBA Problem.

Ich sortiere werte in einer Tabelle mit folgendem kleinen Standardcode:





Sub sortieren()
    ActiveSheet.Unprotect
    Range("A7:X21").Select
    Selection.Sort Key1:=Range("A7"), Order1:=xlAscending
End Sub



Das klappt soweit auch ganz gut leider, nimmt Excel beim Sortieren immer die Formatierung mit.

z.B.
Ausgangssituation
Zeile1: Wert=2 Zellfarbe grau
Zeile2: Wert=1 Zellfarbe weiß
Zeile3: Wert=3 Zellfarbe grau

nach dem sortieren:
Zeile1: Wert=1 Zellfarbe weiß
Zeile2: Wert=2 Zellfarbe grau
Zeile3: Wert=3 Zellfarbe grau

Ich will aber, dass es von der Formatierung so bleibt wie es ist. Kann man das irgendwie ausstellen vorher mit VBA?

Vielen Dank für eure Hilfe

  

Betrifft: Bedingte Formatierung von: Backowe
Geschrieben am: 12.08.2008 17:12:28

Hi,

ich würde die händische Formatierung entfernen und durch eine bedingte Formatierung ersetzen.

Den Bereich A7:X21 markieren, und dem Bereich die Formel =rest(zeile();2)=1 und dann das Hintergrundmuster grau zuweisen.

Sub sortieren()
    ActiveSheet.Unprotect
    Range("A7:X21").Sort Key1:=Range("A7"), Order1:=xlAscending
End Sub



Gruß Jürgen


  

Betrifft: AW: Sortieren ohne Formatierung von: Daniel
Geschrieben am: 12.08.2008 17:15:21

Hi
ich will es natürlich nicht aussschließen, aber mir ist keine Option bekannt, ob mit oder ohne Formate sortiert werden soll (Excel XP)

spontan fallen mir da nur 2 Workarounds ein:

Variante 1:
- Zellinhalt ohne Formate in ein Leeres Blatt kopieren
- Sortierung im neuen Blatt durchführen
- Daten vom neuen sortierten Blatt aufs alte Kopieren,auch wieder ohne Formate
- neues Blatt wieder löschen

Varinte 2:
die Zellfarben der Zeilen über die Bedingte Formatiertung (mit Zeilen-Nr als bedingung) festlegen.
da hast du dann allerdings nur 3 möglichkeiten zur verfügung

Gruß, Daniel


  

Betrifft: AW: Sortieren ohne Formatierung von: Alexander Nachtwey
Geschrieben am: 12.08.2008 18:29:00

Hallo,



vielen Dank für die Antwort. Das Beispiel war nur symbolisch, das Problem ist, dass die Tabelle mit einer fetten Linie endet zur Abgrenzung. Und die halt jedesmal wenn unten ein Wert steht mit nach oben gezogen wird. Werde die Linie wohl entfernen müssen, auch wenn es schlecht aussieht.



Danke für eure Hilfe, aber wäre das erste Mal, dass ich ein "geht nicht" gefunden hätte. Als Alternative könnte man sich natürlich auch die gesamte Formatierung jedesmal erstellen. Aber, dass ist mir ehrlich gesagt zu aufwendig, da soll es lieber nicht so perfekt aussehen.



MFG


  

Betrifft: AW: Sortieren ohne Formatierung von: Erich G.
Geschrieben am: 12.08.2008 19:57:36

Hallo Alexander,
da du den Thread auf "offen" gestellt hast, gebe ich auch noch meinen Senf dazu. ;-)

Sicher ist es nicht immer sinnvoll, beim Sortieren die Formate unverändert zu lassen.
Ein Beispiel:

 BCDEF
1vorher Nomal-Sort "Sort ohne Format"
212345,67 12.08.2008 39672,00
312.08.2008 12345,67 18.10.1933

Spalte D entsteht aus B beim normalen Sortieren.
Spalte F würde entstehen, wenn beim Sortieren die Formate unverändert blieben.
Das ist sicher nicht wünschenswert. Man müsste also auch nboch unterscheiden können,
welche der vielen Formatierungsarten mitsortiert werden sollen und welche nicht.

Eines sieht man auch noch an dem Beispiel: Rahmen bleiben beim Sort unverändert stehen.
Vielleicht kannst du damit arbeiten?

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort


  

Betrifft: AW: Sortieren ohne Formatierung von: Daniel
Geschrieben am: 13.08.2008 01:20:46

Das Beispiel war nur symbolisch



fuck Bullshit, was soll der Scheiß?
sorry für den ausbruch, aber bitte stellt eure realen Probleme hier rein.

wenn es wirklich nur darum geht, einen dicken Strich am ende der Daten nicht mit zu sortieren, dann lass doch einfach eine Leerzeile zwischen den Zellen mit Daten und den Zellen mit dem dicken Strich.
durch die Excel-Automatik werden diese Zellen dann nicht mitsortiert. und wenn der Abstand stört, dann reduziert man die Zeilenhöhe der Leerzeile eben auf ein Minimum.

das ist ne gänzlich andere Problemlösung und viel einfacher als ein "grundsätzliches sortieren ohne die Formate"

jede Excel-VBA-Lösung ist individuell an das Spezifische Problem angepasst, eine allgemein verwendbare Lösung gibt es nur in sehr sehr sehr sehr wenigen Fällen (und die wenigsten, die hier fragen, sind dann in der lage, eine allgemeine Lösung an ihr spezifisches Problem anzupassen. das ist jetzt kein Vorwurf, sondern liegt einfach an der Natur der Sache)

Gruß, Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Sortieren ohne Formatierung"