Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
760to764
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
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

farbige Zellen nach oben sortieren

farbige Zellen nach oben sortieren
06.05.2006 05:24:52
Gábor
Hallo Experten,
komme hier nicht weiter. Folgendes Problem:
In Spalte C ab Zeile 4 werden alle Zellen durch bedingte Formatierung gefärbt. Ich möchte jetzt die gesammte Tabelle so sortieren, dass alle türkisen Zellen (Spalte C) oben stehen. Ich habe es mit folgendem Macro probiert.

Sub matrix_cd_test()
'wenn farbe in/ab C4 = türkis schreibe in/ab U4 eine 1
Range("C4").Select
Do Until IsEmpty(ActiveCell)
If ActiveCell.Offset(0, 0).Interior.ColorIndex = 8 Then
ActiveCell.Offset(0, 18).Value = 1
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub

Ich wollte über die Hilfsspalte U sortieren, wenn Farbe in C = türkis -> schreibe in U eine 1. Danach sollte sortiert werden. Wenn ich die Zellen in C von Hand einfärbe funkioniert das ganze. Die eingefärbten Zellen mittels bedingter Formatierung werden aber ignoriert.
Wenn es andere Ideen gibt bin ich sehr dankbar. Es soll wie geschrieben nur sortiert werden - alle Zellen mit Farbe 8 nach oben.
Gábor

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: farbige Zellen nach oben sortieren
06.05.2006 06:12:44
Mustafa
Hallo Gabor,
wenn die Farbe der Zelle durch bedingte Formatierung erstellt wird musst du die Bedingung abfragen da der Farbindex der Zelle nicht geändert wird.
Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.
AW: farbige Zellen nach oben sortieren
06.05.2006 18:19:58
Gábor
Hallo Mustafa,
danke für deine Antwort. Ich hatte es folgendermaßen probiert:

Sub matrix_cd_test_2()
'wenn farbe in/ab C4 = türkis schreibe in/ab U4 eine 1
Range("C4").Select
Do Until IsEmpty(ActiveCell)
If ActiveCell.Offset(0, 6).Value = ActiveCell.Offset(0, 16).Value Then
ActiveCell.Offset(0, 18).Value = 1
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub

Ich vergleiche die Zelle (Spalte I [hat immer eine Zahl als Wert]) mit der Zelle (Spalte R,S,T in der selben Zeile). In den Zellen Spalte R,S,T steht aber manchmal der Ausdruck #NV und hier bleibt das Makro dann hängen.
Die Bedinging ist erfüllt (in U soll eine 1 geschrieben werden), wenn der Wert in I mit dem Wert in R oder S oder T übereistimmt (immer in der selben Zeile).
Problem ist in diesem Fall der Ausdruck #NV. Der Ansatz des Makros vergleicht im Moment nur zwei Zellen. Aber da hier das Makro schon hängt, habe ich nicht weiter gemacht.
Ich hoffe ihr könnt mir weiter helfen.
Gábor
Anzeige
AW: farbige Zellen nach oben sortieren
06.05.2006 08:27:29
Josef
Hallo Gabor!
Das geht auch ohne den Einsatz von VBA!
Richte einfach rechts von deiner Tabelle eine Hilfspalte ein,
in der du die selbe Formel verwendest, mit der du die Bedingte
Formatierung steuerst.
Nach dieser Spalte kannst du dann Filtern!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: farbige Zellen nach oben sortieren
06.05.2006 18:03:45
Gábor
Hallo Sepp,
die Formatierung wird folgendermaßen erledigt:
Range("C4").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=I4=R4"
Selection.FormatConditions(1).Interior.ColorIndex = 8
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=I4=S4"
Selection.FormatConditions(2).Interior.ColorIndex = 8
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=I4=T4"
Selection.FormatConditions(3).Interior.ColorIndex = 8
Selection.Copy
Range("C5:C" & Cells(Rows.Count, 3).End(xlUp).Row).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("C4").Select
Wie kann ich in die Spalte Q einen Wert beispielsweise 1 schreiben, wenn eine der Bedingungen erfüllt ist.
Vielen Dank für deine erste Antwort
Gábor
Anzeige
AW: farbige Zellen nach oben sortieren
06.05.2006 19:06:21
Josef
Hallo Gábor!
Zum Beispiel so!
Sub nn()
With Range("C4:C" & Cells(Rows.Count, 3).End(xlUp).Row)
  .FormatConditions.Delete
  .FormatConditions.Add Type:=xlExpression, Formula1:="=I4=R4"
  .FormatConditions(1).Interior.ColorIndex = 8
  .FormatConditions.Add Type:=xlExpression, Formula1:="=I4=S4"
  .FormatConditions(2).Interior.ColorIndex = 8
  .FormatConditions.Add Type:=xlExpression, Formula1:="=I4=T4"
  .FormatConditions(3).Interior.ColorIndex = 8
End With
Range("Q4:Q" & Cells(Rows.Count, 3).End(xlUp).Row).Formula = "=OR(I4=R4,I4=S4,I4=T4)*1"
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
Korrektur!
06.05.2006 20:09:18
Josef
Hallo Gábor!
Der Code war Fehlerhaft ;-((
So sollte es laufen!
Sub nn()
With Range("C4")
  .FormatConditions.Delete
  .FormatConditions.Add Type:=xlExpression, Formula1:="=ODER(I4=R4;I4=S4;I4=T4)"
  .FormatConditions(1).Interior.ColorIndex = 8
End With
Range("C4:C" & Cells(Rows.Count, 3).End(xlUp).Row).FillDown
Range("Q4:Q" & Cells(Rows.Count, 3).End(xlUp).Row).Formula = "=OR(I4=R4,I4=S4,I4=T4)*1"
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige

294 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige