Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
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
Inhaltsverzeichnis

Sortieren nach Zellfarben

Sortieren nach Zellfarben
Werner
Hallo Forum,
Brauche mal wieder eure Hilfe :-).
Für mich mit meinen noch geringen Excel-Kenntnissen unlösbar.
Nun ja, in 3 Jahren gehe ich in den wohlverdienten Ruhestand (65). Dann habe ich viel Zeit um Excel richtig zu erlernen :-).
Aber bis dahin werde ich die Unterstützung des Forums wohl noch des Öfteren in Anspruch nehmen müssen und auch wollen.
Ein Super Forum mit tollen und hilfsbereiten Mitgliedern.
Ein dickes DANKE an ALLE!!!!!
Und nun zu meinem Problem…
In einer Tabelle sollen die Zeilen automatisch nach Farben sortiert werden.
In den Zellen der Spalte B kann mittels Eingabe des Zeichens + der Zelle die Farbe GRÜN, mit dem Minuszeichen die Farbe ROT und mit der Eingabe des kleinen o die Farbe GELB gegeben werden. In den Zellen der Spalte C befinden sich bzw. wird jeweils das Datum des Eintrags eines Datensatzes eingegeben.
Nun möchte ich, dass automatisch eine Farbsortierung der Zeilen von Spalte B bis einschließlich Spalte P erfolgt, sobald die Farbe einer Zelle in der Spalte B verändert wird. Und zwar so, dass die Zeilen mit einer roten Zelle am Schluss der Liste angezeigt werden, und die grün Gekennzeichneten am Anfang der Liste stehen. Die gelb Gekennzeichneten befinden sich demnach zwischen Grün und Rot. Zudem soll jeder Farbbereich nach Datum sortiert werden.
Und das alles automatisch sobald die Farbe einer Zelle der Spalte B geändert wird.
Da die Datei größer (620) als 300 KB ist, kann sie hier runtergeladen werden.
www.garment-technician.com/Downloads/TEST-MaRe_ed.06.xls
In das Tabellenblatt „Material request – Anforderung“ gehört noch der nachfolgende Code. Den habe ich rausgenommen, da sich der Schutz diverser Spalten nicht aufheben lässt solange der Code eingefügt ist.
(Allgemein)
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Unprotect "Passwort" With Range("B:P") .Font.Italic = False .Font.ColorIndex = xlAutomatic End With With Target If .Column = 2 And .Row > 1 Then Range(Cells(.Row, 1), Cells(.Row, 11)).Font.Italic = True Range(Cells(.Row, 1), Cells(.Row, 11)).Font.ColorIndex = 10 End If End With ActiveSheet.Protect "Passwort" End Sub End Sub
Vielen Dank für eure Hilfe
Gruß
Werner

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Vorschlag
30.04.2011 07:54:02
Matthias
Hallo
mal als Ansatz
schreibe doch im Code gleich eine Zahl in eine freie Spalte, nach der Du dann sortierst (hier z.B in "Q")
 ABCDEFGHIJKQ
1DatumSp 2Sp 3Sp 4Sp 5Sp 6Sp 7Sp 8Sp 9Sp 10Sp 11Wert
230.04.2011 xxxxxxxxx 
301.05.2011+xxxxxxxxx1
402.05.2011-xxxxxxxxx3
503.05.2011 xxxxxxxxx 
604.05.2011 xxxxxxxxx 
705.05.2011+xxxxxxxxx1
806.05.2011 xxxxxxxxx 
907.05.2011-xxxxxxxxx3
1008.05.2011 xxxxxxxxx 
1109.05.2011oxxxxxxxxx2
1210.05.2011 xxxxxxxxx 
1311.05.2011 xxxxxxxxx 
1412.05.2011oxxxxxxxxx2
1513.05.2011 xxxxxxxxx 
1614.05.2011-xxxxxxxxx3
1715.05.2011+xxxxxxxxx1
1816.05.2011 xxxxxxxxx 
1917.05.2011 xxxxxxxxx 
2018.05.2011 xxxxxxxxx 

Formeln der Tabelle
ZelleFormel
B1="Sp "& SPALTE()
C1="Sp "& SPALTE()
D1="Sp "& SPALTE()
E1="Sp "& SPALTE()
F1="Sp "& SPALTE()
G1="Sp "& SPALTE()
H1="Sp "& SPALTE()
I1="Sp "& SPALTE()
J1="Sp "& SPALTE()
K1="Sp "& SPALTE()


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
'...

With Target
If .Column = 2 And .Row > 1 Then
With Range(Cells(.Row, 1), Cells(.Row, 11))
.Font.Italic = True
Select Case Target
Case Is = "o"
.Interior.ColorIndex = 6 'gelb
Cells(.Row, 17) = 2 'soll in der Mitte stehen beim Sortieren also 2
Case Is = "+"
.Interior.ColorIndex = 4 'grün
Cells(.Row, 17) = 1 'soll oben stehen beim Sortieren also 1
Case Is = "-"
.Interior.ColorIndex = 3 'rot
Cells(.Row, 17) = 3 'soll unten stehen beim Sortieren also 3
Case Is = ""
.Interior.ColorIndex = xlNone
.Offset(, 16).ClearContents
End Select
End With
Range(Cells(.Row, 1), Cells(.Row, 11)).Font.ColorIndex = 10
End If
End With

'...


nach dem Sortieren sieht das dann so aus:
 ABCDEFGHIJKQ
1DatumSp 2Sp 3Sp 4Sp 5Sp 6Sp 7Sp 8Sp 9Sp 10Sp 11Wert
201.05.2011+txttxttxttxttxttxttxttxttxt1
305.05.2011+txttxttxttxttxttxttxttxttxt1
415.05.2011+txttxttxttxttxttxttxttxttxt1
509.05.2011otxttxttxttxttxttxttxttxttxt2
612.05.2011otxttxttxttxttxttxttxttxttxt2
702.05.2011-txttxttxttxttxttxttxttxttxt3
807.05.2011-txttxttxttxttxttxttxttxttxt3
914.05.2011-txttxttxttxttxttxttxttxttxt3
1030.04.2011 txttxttxttxttxttxttxttxttxt 
1103.05.2011 txttxttxttxttxttxttxttxttxt 
1204.05.2011 txttxttxttxttxttxttxttxttxt 
1306.05.2011 txttxttxttxttxttxttxttxttxt 
1408.05.2011 txttxttxttxttxttxttxttxttxt 
1510.05.2011 txttxttxttxttxttxttxttxttxt 
1611.05.2011 txttxttxttxttxttxttxttxttxt 
1713.05.2011 txttxttxttxttxttxttxttxttxt 
1816.05.2011 txttxttxttxttxttxttxttxttxt 
1917.05.2011 txttxttxttxttxttxttxttxttxt 
2018.05.2011 txttxttxttxttxttxttxttxttxt 

Formeln der Tabelle
ZelleFormel
B1="Sp "& SPALTE()
C1="Sp "& SPALTE()
D1="Sp "& SPALTE()
E1="Sp "& SPALTE()
F1="Sp "& SPALTE()
G1="Sp "& SPALTE()
H1="Sp "& SPALTE()
I1="Sp "& SPALTE()
J1="Sp "& SPALTE()
K1="Sp "& SPALTE()


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Userbild
Anzeige
AW: Sortieren nach Zellfarben
01.05.2011 07:27:19
Werner
Hallo Tino,
Klasse und Danke!!!!
Habe soeben den Code von Dir eingebaut, funktioniert super. Nur, was muss gegebenenfalls im Code abgeändert werden damit die ersten 4 Zeilen der Tabelle unberücksichtigt bleiben?
Hallo Matthias,
Wenn ich aus dem Büro zurück bin (Tag der Arbeit muss entsprechend zelebriert werden :-) ) werde ich Deinen Vorschlag in meine Tabelle einbauen.
Bis dann und nochmals vielen Dank an euch Beide für die Hilfe
Gruß aus Serbien wo ich mich mal wieder beruflich aufhalte.
Werner
Anzeige
AW: Sortieren nach Zellfarben
01.05.2011 08:52:04
Tino
Hallo,
versuch mal und tausche die Zeile
.FormulaR1C1 = "=IF(RC2=""+"",1,IF(RC2=""-"",3,IF(EXACT(RC2,""o""),2,"""")))"
gegen diese aus
.FormulaR1C1 = "=IF(ROW()>4,IF(RC2=""+"",1,IF(RC2=""-"",3,IF(EXACT(RC2,""o""),2,""""))),-1)"
Gruß Tino
Anzeige
AW: Sortieren nach Zellfarben
01.05.2011 10:46:28
Werner
Hallo Tino,
Das funktioniert prima mit dem Sortieren ab der Zeile 4.
Doch leider funktioniert es nicht sobald ich diverse Spalten (F, H, K und L) sperre. Diese muss ich sperren, da Zelleninhalte bereits des Öfteren überschrieben wurden.
Wahrscheinlich nerve ich, aber würdest Du mir bitte noch mal helfen?
Danke und Gruß
Werner
AW: Sortieren nach Zellfarben
01.05.2011 10:57:42
Tino
Hallo,
schreibe nach der Zeile
With ActiveSheet
Diesen Code, "Dein Kennwort" noch ersetzen.
.Protect Password:="Dein Kennwort", UserInterfaceOnly:=True
Gruß Tino
AW: Sortieren nach Zellfarben
01.05.2011 18:08:06
Werner
Hallo Tino,
Jetzt habe ich vieles ausprobiert, doch sobald ich diverse Spalten sperre funktioniert das Sortieren nicht mehr. Code ist an der richtigen Stelle eingenbaut. Sobald ich in abschalte (' ... ') funktioniert es wieder.
Darf ich Dich noch einmal bemühen? Danach gebe ich auf :-(.
Danke und Gruß
Werner
Anzeige
AW: Sortieren nach Zellfarben
01.05.2011 18:24:37
Matthias
Hallo Werner
Aufgeben ? Gibts nicht !!
schreib doch vor dem Sortieren einfach:
ActiveSheet.UnProtect Password:="Dein Kennwort"
'hier Sortieren ...
und nach dem Sortieren setzt Du es wieder
ActiveSheet.Protect Password:="Dein Kennwort", UserInterfaceOnly:=True
Userbild
AW: hier meine Testmappe
02.05.2011 09:53:32
Werner
Man bin ich ein :-]
Es wollte und wollte nicht funktionieren, Frust und Verzweiflung machte sich breit…
Und dann - plötzlich funktioniert es. Und warum?
Ich hätte Excel komplett schließen und neu starten sollen.
Vielen Dank für eure Hilfe.
Und Dir Tino besonderen Dank für Deine Geduld.
Gruß
Werner
Anzeige

33 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige