Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe! Frage an VBA-Anwender...

Hilfe! Frage an VBA-Anwender...
16.12.2004 17:44:04
Heiko
moin moin!
also jungs, hier mein problem:
ich möchte den bereich B3:W12 nach Spalte W absteigend sortieren. Und zwar soll dies dann geschehen, sobald sich ein wert in der spalte W ändert. D.h. dass ich nicht manuell sortieren will, sondern dies soll nach jeder eingabe automatisch geschehen. Außerdem sollen die zellen A1:A3 immer grün hinterlegt sein, die zellen A4:A9 immer gelb und die zelle A10 immer rot. D.h., dass nur der Inhalt mitsortiert werden soll.
Ich habe schon einen code von Hübi bekommen, doch der ist ohne Farbenproblem-Lösung und aus irgendeinem Grund wird zeile 3 nicht mitsortiert.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("B3:W13").Sort Key1:=Range("W3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Ich hoffe mir wird geholfen.
Ich wünsche allen frohe Weihnachten und bedanke mich für eure Antworten!!!
MfG Heiko

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe! Frage an VBA-Anwender...
Volker
hallo Heiko,
soll das wirklich nur bei Änderungen in Spalte W passieren?
Dann mußt Du die Sache in das Worksheet_Change-Ereignis einbinden und den Range abfragen.
was das sortieren angeht:
beim Aufzeichnen wird wohl irgendwie das "Keine Überschrift" (Header:= ....) ignoriert.
Also schmeiß es raus:
Range("B3:W13").Sort Key1:=Range("W3"), Order1:=xlDescending, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
alles zusammen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 23 Then
Range("B3:W13").Sort Key1:=Range("W3"), Order1:=xlDescending, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
End Sub

Was deine Farben angeht, soll in Spalte A nun sortiert werden, oder nicht?
Wenn ja, kannst Du die Farben ja jedesmal neu vergeben, da sie ja offensichtlich in der Zeile bleiben sollen.
Noch ein Tip: wenn Du dich bei deiner Frage als VBA-Profi bezeichnest, wird es mit Sicherheit öfter passieren, dass Du mit den Antworten nichts anfangen kannst, oder Du nur Kopfschütteln erntest , aber keine Antworten bekommst.
Diese Einschätzung ist gedacht, damit Helfer wissen, ob ein kleiner Tip reicht oder sie bei Adam und Eva anfangen müssen.
Gruß
Volker
Anzeige
AW: Hilfe! Frage an VBA-Anwender...
16.12.2004 18:32:46
Micha
Hallo Heiko,
dann lass doch zur aller größten Not die Spalten auf weiß färben und dann machst du die oberen wieder so wie du sie gern hättest. Musst du halt nur an deinen Code anhängen.
Zeichnes doch einfach einmal auf und dann sollte es funktionieren.
Micha
AW: Hilfe! Frage an VBA-Anwender...
Hübi
Hi Heiko,
warum baust du nicht alle bisherigen Antworten zu einem Modell zusammen?
Hier eine Datei https://www.herber.de/bbs/user/14931.xls
Lies dir bitte auch noch einmal deine Frage durch. So wolltest du es bestimmt nicht.
Für deinen jetzigen Level "Excel-Profi - VBA-Profi" hätte ich dir eigentlich mehr zugetraut.
Gruß Hübi
P.S. Ich bin Anfänger
Anzeige
AW: Hilfe! Frage an VBA-Anwender...
Martin
Hallo Heiko,
sortierungsunabhängige Färbungen erreichst Du mit bedingter Formatierung (Muster).
Die Formel =REST(ZELLE("Zeile";A1);2) ergibt z.B. - nachdem das Format abwärts kopiert wurde versteht sich - ein Streifenmuster, das gegen Sortierungen des Bereiches und gegenüber Einfügen und Löschen von Zeilen stabil ist. Die Anwendung auf Deinen Fall ist ja trivial. Wenn Du denn auch noch Spalte A sortieren willst, was erst mal nicht so aussieht.
Viel Spaß!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige