Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Letzte Zelle mit Farbe ermitteln...

Letzte Zelle mit Farbe ermitteln...
15.05.2006 15:48:34
Walter
Hallo,
ich möchte gern in der Spalte "A" die letzte Farbige Zelle ermitteln.
Kann mir jemand helfen ?
gruß Walter
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zelle mit Farbe ermitteln...
15.05.2006 16:00:22
Bertram
Hi Walter,
so etwa?

Sub LetzeFarbige()
Dim zelle As Range
Dim Merker As Single
For Each zelle In ActiveSheet.Columns(1).Cells
If zelle.Interior.ColorIndex <> xlNone Then
If Merker < zelle.Row Then Merker = zelle.Row
End If
Next zelle
Cells(Merker, 1).Activate
End Sub

Gruß
Bertram
Anzeige
Hallo
15.05.2006 16:07:50
Walter
Hallo Bertram,
angefangen ab Zeile "7" !
Ich habe die Zeilen über Zahlenformat "Bedingte Formatierung" eingefärbt.
mfg Walter
AW: Hallo
15.05.2006 16:11:33
Bertram
Hi Walter,
das ist schlecht:-( Dann geht's so nämlich nicht. Bedingte Formatierung läßt sich so nicht erfassen.
Gruß
Bertram
AW: Hallo
15.05.2006 16:19:03
Andi
Hi,
die Zellfarbe der bedingten Formatierung auszulesen ist nicht so ganz ohne.
Am einfachsten wäre, Du suchst nicht nach der Farbe, sondern nach der zugehörigen Bedingung.
Angelehnt an Bertrams Vorschlag, und vorausgesetzt die Bedingung lautet 'Wert zwischen 10 und 20' sähe das dann zB so aus:
Dim zelle As Range
Dim Merker As Single
For Each zelle In ActiveSheet.Columns(1).Cells
If zelle.value &gt= 10 and zelle.value &lt= 20 then
If Merker &lt zelle.Row Then Merker = zelle.Row
End If
Next zelle
Cells(Merker, 1).Activate
Schönen Gruß,
Andi
Anzeige
AW: Hallo Bertram und Andi
15.05.2006 16:33:11
Walter
Hallo Ihr Zwei,
habe in der Zelle B1 das aktuelle Datum: z.b. 15.05.2006
Spalte "A"------------Spalte"B" (ändere ich aber noch.
Erszulassung-------3 Monate weiter
02.01.2006---------02.04.2006 ist Rot
u.s.w
15.02.2006---------15.05.2006 ist Rot z.b. letzte Rote
Hoffentlich habe ich das Verständlich erklärt ?
gruß walter
Anzeige
AW: Hallo Bertram und Andi
15.05.2006 16:44:41
Andi
Hi,
so ganz kapier ich das noch ned.
Du hast doch bei der bedingten Formatierung ne Formel drinstehn; diese Formel übersetzt Du in VBA und änderst folgende Zeile aus meinem Code entsprechend:
If zelle.value >= 10 and zelle.value Wenn Du Probleme mit der Übersetzung hast, dann poste einfach die Formel selbst.
Schönen Gruß,
Andi
Anzeige
AW: Hallo Bertram und Andi
15.05.2006 16:45:42
Bertram
Hi,
wennn ich dich recht verstehe, ist die letzte gefärbte Zelle, die mit dem aktuellen Datum. Dann kannst du sie auch so finden:

Sub HeuteSuchen()
Dim Zelle As Range
On Error Resume Next
Set Zelle = ActiveSheet.Columns(2).Find(what:=Date)
Zelle.Activate
End Sub

Gruß
Bertram
Anzeige
AW: Hallo Bertram und Andi
15.05.2006 17:05:08
Walter
Hallo Bertram,
das Funktioniert, habe allerdings 3x das Datum, beim 1.Datum bleibt der Courser.
Kann man das noch ändern?
gruß Walter
AW: Hallo Bertram und Andi
15.05.2006 17:10:11
Bertram
Hi Walter,
kann man bestimmt irgenwie. Aber ohne die oft erwähnte Glaskugel, den Upload deiner Datei oder einer genaueren Beschreibung wird's schwierig:-)
Gruß
Bertram
Anzeige
AW: Hallo Bertram und Andi
15.05.2006 17:18:41
Andi
Hi,
dann fangen wir eben unten an zu suchen...

Sub t()
Dim a As Long
For a = Range("B65536").End(xlUp).Row To 1 Step -1
If Cells(a, 2).Value = Date Then
Cells(a, 2).Select
Exit Sub
End If
Next a
End Sub

Schönen Gruß,
Andi
Das kriegen wir schon noch hin:-) oT
15.05.2006 17:24:36
Bertram
na klar :-)
15.05.2006 17:29:10
Andi
Wäre halt gut gewesen, wenn wir von Anfang an gewusst hätten, um was es geht; so nach dem Motto:
ich habe eine Spalte voller Daten und möchte gerne die letzte, die das heutige Datum enthält markiert haben.
(@Walter: is nich bös gemeint; nur ne Anregung, wie man Fragen so stellen kann, dass auch jemand der die Mappe nicht kennt weiss worum's geht...)
Schönen Gruß,
Andi
Anzeige
Bin gerade erst zu Hause angekommen
15.05.2006 21:36:46
Walter
Hallo Ihr Zwei,
war für die Firma unterwegs.
Es ist schon Richtig, habe die Frage ein wenig(verschönt) blöd gestellt,
Danke für die Info.
Herzlichen Dank
Walter
AW: Bin gerade erst zu Hause angekommen
15.05.2006 21:55:27
Bertram
Guten Abend,
ist das Problem nun gelöst, oder brauchst du noch was, da die Frage noch offen ist?
Gruß
Bertram
Anzeige
Dies ja aber
16.05.2006 09:47:49
Walter
Guten Morgen Bertram,
das ist OK.
habe aber jetzt eine andere Frage, wenn ich darf, sonst stelle ich diese mal Neu.
Ich habe eine Tabelle Spalte1 bis 12, ab der der Zeile 5 stehen die Daten,
nun filtere ich die Daten. In der Spalte 11 steht in jeder Zelle eine Formel, bei Erfüllung (Filterung wird da eine 1 reingesetzt.
Ich brauch jetzt für den Druckbereich die letzte 1 in der Spalte11, geht das ?
Habe mal gerade was zusammengefummelt, aber es wird mir bei der Filterung immer der
gesamt Bereich angezeigt z.b. Liste geht bis 155 und die Zahl in der Spalte 11 geht nur bis 45, wird aber 155 angezeigt.
gruß walter
Anzeige
Alles jetzt i.o. o.t.
16.05.2006 10:04:58
Walter
Hallo Bertram,
ich war wohl ein wenig BLÖÖÖÖÖd !!!
Habe das über eine weitere Filtering in der Spalte durchgeführt,
klappt alles , ich bin zufrieden.
gruß Walter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Letzte Zelle mit Farbe ermitteln in Excel


Schritt-für-Schritt-Anleitung

Um die letzte Zelle mit einer bestimmten Farbe in Excel zu ermitteln, kannst du VBA (Visual Basic for Applications) verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke Alt + F11, um den VBA-Editor zu starten.

  2. Wähle im Menü Einfügen die Option Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub LetzeFarbige()
        Dim zelle As Range
        Dim Merker As Single
        For Each zelle In ActiveSheet.Columns(1).Cells
            If zelle.Interior.ColorIndex <> xlNone Then
                If Merker < zelle.Row Then Merker = zelle.Row
            End If
        Next zelle
        Cells(Merker, 1).Activate
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, um die letzte Zelle mit Farbe zu ermitteln.

Wenn du die Wandfarbe ermitteln möchtest, kannst du die Farbe der Zellen nach einem bestimmten Kriterium filtern.


Häufige Fehler und Lösungen

  • Problem: Der Code funktioniert nicht mit bedingter Formatierung.

    • Lösung: Bedingte formatierte Zellen können nicht direkt über den Interior.ColorIndex ermittelt werden. Stattdessen solltest du die Bedingungen in VBA nachbilden. Beispielsweise:
    Dim zelle As Range
    Dim Merker As Single
    For Each zelle In ActiveSheet.Columns(1).Cells
        If zelle.Value >= 10 And zelle.Value <= 20 Then
            If Merker < zelle.Row Then Merker = zelle.Row
        End If
    Next zelle
  • Problem: Das Makro findet nicht die korrekte Zelle.

    • Lösung: Stelle sicher, dass die Zellen in der richtigen Spalte (z.B. Spalte A) und im richtigen Bereich untersucht werden.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, gibt es alternative Methoden:

  1. Excel-Funktionen: Du kannst auch eine Kombination aus VERGLEICH und INDEX verwenden, um die letzte Zelle mit bestimmten Kriterien zu finden.

  2. Filtern: Nutze die Filterfunktion in Excel, um nur die relevanten Daten anzuzeigen und die letzten Zellen manuell zu überprüfen.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung des VBA-Codes:

  • Suchbeispiel: Wenn du die letzte Zelle in Spalte A ermitteln möchtest, die eine Hintergrundfarbe hat, kannst du den oben genannten Code verwenden.

  • Bedingte Formatierung: Wenn die Zellen basierend auf einem bestimmten Wert gefärbt sind, passe den VBA-Code an, um diese Bedingungen zu prüfen.


Tipps für Profis

  • Wiederverwendbarkeit: Speichere deine VBA-Skripte in einer persönlichen Makroarbeitsmappe, damit du sie in anderen Excel-Dateien nutzen kannst.

  • Debugging: Nutze Debug.Print im Code, um Werte während der Ausführung zu überprüfen und Probleme einfacher zu identifizieren.

  • Benutzerdefinierte Funktionen: Erstelle benutzerdefinierte Funktionen, um die farbe ermitteln für verschiedene Anwendungen anzupassen.


FAQ: Häufige Fragen

1. Wie kann ich die letzte Zelle mit einer bestimmten Farbe in einer anderen Spalte finden? Du kannst die Spaltennummer im VBA-Code anpassen, um die gewünschte Spalte zu durchsuchen.

2. Funktioniert dieser Code in Excel 365? Ja, der VBA-Code ist mit Excel 365 und früheren Versionen kompatibel, solange die Makrofunktion aktiviert ist.

3. Was tun, wenn das Makro nicht funktioniert? Überprüfe, ob alle Zellreferenzen korrekt sind und ob das Makro in der richtigen Arbeitsmappe ausgeführt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige