Farbig markierte Zeilen schneller finden

Hallo!

Ich habe eine Excel-Datei mit 20.000 Zeilen, in der ab und an mal eine Zeile von einem freundlichen Kollegen farbig markiert wurde.

Ich müsste mir diese Zeilen jetzt anschauen. Um nicht durch die 20.000 Zeilen durchschauen zu müssen: Gibt es eine Möglichkeit, sich die farbig markierten Zeilen rausfiltern zu lassen?

Ich denke dabei z.B. an sowas wie: Neues Feld, Formel: Wahr, wenn Farbe = Gelb, Unwahr, wenn Farbe = leer. Sowas in der Richtung.

Vergleichbares kommt leider öfter vor, darum wäre etwas reproduzierbares wirklich hilfreich. Sonst bleibt mir halt doch nur der Krampf im Zeigefinger (von der Down-Taste).

Viele Grüße,
Snoef

Hi,

eine Funktion, wo man aufgrund einer Formatierung (Farbe ist eine solche) eine Wenn-Abfrage oder einen Filter setzen kann, ist mir nicht bekannt - und ich kenn mich da ein bisschen aus.

Es wäre aber kein Problem mit einem Makro. Das könnten Dir hier dienstbare Geister schreiben. Benötigt wird dafür :

  • die Spalte, in der die Farbe ist
  • welche Farbe es ist (hoffentlich nicht x verschiedene)
  • welche Spalte „frei“ ist, um die Information Wahr/Unwahr abzulegen

Gruss Hans-Jürgen
***

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Diese Funktion hier einbinden (z.B. per XLA), in der Tabelle eine neue Spalte einführen und dort „=Farbig(A1:smiley:1)“ oderso hinschreiben. Dann nach „WAHR“ filtern. Sollte gehen:

Function Farbig(Bereich As Range) As Boolean
Dim Zelle As Range
 Farbig = False
 For Each Zelle In Bereich
 Farbig = Farbig Or (Zelle.Interior.ColorIndex xlNone)
 Next Zelle
End Function 'Farbig

Das in aller Küze, weil ich jetzt rennen muss … ggf. nachfragen bitte.

Kristian

Hallo!

Klingt klasse!!! XLA? Funktion? *stotter*

Also Makros kenne ich. Die kann ich aufzeichnen… :o)

Kannst Du mir das „einbinden“ erklären?

Vielen Dank!!!

Snoef

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!
Klingt klasse!!! XLA? Funktion? *stotter*
Also Makros kenne ich. Die kann ich aufzeichnen… :o)
Kannst Du mir das „einbinden“ erklären?
Vielen Dank!!!
Snoef

Okay, let´s try it quickly:

Hinter den Makros verbirgt sich die Programmiersprache Visual Basic in der speziellen Ausprägung „VB_A_“ (for Applications), und die findet man in allen Office-Applikationen.
Makros kann man aufzeichnen, wie Du weisst, aber natürlich auch selbst schreiben. Gespeichert werden sie im Office-Dokument selbst.
Hinterlegt werden sie (innerhalb des Dokuments) in separaten Modulen, Klassen bzw. Formularen, oder sie werden im Kontext enzelner Tabellenblätter oder Arbeitsmappen notiert (bei Excel). Das kann man im VBA-Editor erkennen.

Der Code wird in Form von Prozeduren oder Funktionen implementiert, die (ggf. mit Parametern) aufgerufen werden können. Der Unterschied ist, dass Funktionen einen Rückgabewert liefern. In Excel sind die eingebauten Standard-Funktionen bekannt, z.B. Heute() oder Wochentag(A1;2). Man kann solche Funktionen aber auch selber schreiben.

Damit zum praktischen Teil: Die unten stehende Funktion muss also der Excel-Tabelle, in der sie aufgerufen werden soll, verfügbar gemacht werden.

Möglichkeit 1: Sie wird im Dokument selbst hinterlegt. Das hat den Vorteil, dass sie beim Verteilen des Dokuments immer dabei bleibt. Nachteil ist, dass sie in anderen Dokumenten nicht ohne weiteres genutzt werden kann. Nachteil auch: Man bekommt beim Öffnen immer eine Makro-Meldung.

Möglichkeit 2: Sie wird in einem Add-In hinterlegt. Das wir in die Applikation Excel eingebunden und steht damit allen dort geöffneten Dokumenten zur Verfügung. Nachteil: Das Add-In muss beim Versenden einer „Nutzer“-Datei mitgeschickt und auf dem Zielrechner eingebunden werden.
Nach dem Schema funktionieren auch Standard-Add-Ins, die man z.T. mitgeliefert bekommt.

In Deinem Falle brauchen wir die zweite Möglichkeit, weil Du eine Datei reinbekommst, die das Makro natürlich nicht enthält.

Vorgehensweise:

  • Ein leeres Dokument öffnen.
  • Am besten alle Tabellenblätter löschen bis auf eins (hat nur Einfluss auf die Dateigröße).
  • Speichern der Datei als Add-In (ganz unten in der Liste). Z.B. „MeineMakros.xla“. Den vorgegebenen Pfad am besten lassen erstmal.
  • [Alt]+[F11] drücken, um den VBA-Editor zu starten (Menü Extras ginge auch)
  • Dort ggf. angezeigte Code-Fenster schliessen (Kreuz-Klick), bis nur noch eine graue Fläche, der Projekt-Explorer und ggf. die Eigenschaften übrig sind (nur der Übersichtlichkeit wegen)
  • Im Projekt-Explorer das eigene XLA raussuchen, mit rechts draufklicken und ein Modul einfügen. Das sollte dann als weisses Code-Fenster erscheinen.
  • Dort die unten stehende Funktion einfügen.
  • VBA-Editor schliessen.
  • Datei speichern.

Nun muss das Teil noch Excel bekanntgemacht werden:

  • Menü Extras / Add-In-Manager aufrufen,
  • Eigenes XLA in der Liste suchen und ggf. hinzufügen („Durchsuchen“).
  • XLA anticken.
  • Manager schließen.

Jetzt sollte man die Funktion wie unten beschrieben nutzen können. Als Bereich kann dabei natürlich auch eine einzelne Zelle angegeben werden.
Filtern: Daten/Filter/AutoFilter mal ausprobieren.

Kristian

Diese Funktion hier einbinden (z.B. per XLA), in der Tabelle
eine neue Spalte einführen und dort „=Farbig(A1:smiley:1)“ oderso
hinschreiben. Dann nach „WAHR“ filtern. Sollte gehen:

Function Farbig(Bereich As Range) As Boolean
Dim Zelle As Range
 Farbig = False
 For Each Zelle In Bereich
 Farbig = Farbig Or (Zelle.Interior.ColorIndex xlNone)
 Next Zelle
End Function 'Farbig
1 „Gefällt mir“

Alles zu kompliziert!!!
Alles zu kompliziert!!!

Hi,

versuchs doch ganz, ganz, ganz einfach:

Bearbeiten Suchen
Optionen anklicken
Dann bei Format die Farbe eingeben

Gruß Yoyi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

versuchs doch ganz, ganz, ganz einfach:
Bearbeiten Suchen
Optionen anklicken
Dann bei Format die Farbe eingeben

Hi Yoyi,
bei meinem xl2000 gibt es da aber keine Optionen.
Gruß
Reinhard

Alles zu kompliziert!!!

Hi,

versuchs doch ganz, ganz, ganz einfach:

Bearbeiten Suchen
Optionen anklicken
Dann bei Format die Farbe eingeben

Gruß Yoyi

Ich weiss ja nicht, was Du für ein Excel hast, aber das kenne ich nur von Word. Mein Excel 2000 hat diese Möglichkeit jedenfalls nicht, ud auch das „Gehe zu…“ bietet das nicht an. Sonst wäre es in der Tat etwas einfacher gewesen.

Kristian

Hi,

das aktuelle (XP), kann sein das im 2000er-Excel das noch nicht geht!

Gruß Yoyi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Jepp, das war auch mein erster Gedanke, als ich mich daran machte, selbst eine Lösung zu finden. :o) … Naja, aber gut zu wissen, dass ich offenbar nicht der einzige Mensch bin, der von dem Problem gemartert wurde. Sondern eher so viele, dass man bei MS sogar daran gedacht hat, es als Funktion mit aufzunehmen.

Ich finde das eine erfreuliche Aussicht für meine zukünftigen Versionen. ;o)

Snoef