Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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

gefundene Zellen färben

gefundene Zellen färben
Jochen
Schönen guten Morgen,
wieder mal beschäftig mich ein Problem:
Ich habe eine Datei mit vielen Tabellenblättern, die alle geschützt sind bis auf die Spalte B.
Mit dem folgenden Code suche ich nach Namen in der Spalte A:
  • 
    Public Sub SearchAllTables(Optional sBlattname$)
    Dim ws As Worksheet
    Dim c
    Dim firstAddress As String, sSearch
    Dim secAddress
    Dim GFound As Boolean
    Dim GWeiter As Boolean
    GWeiter = False
    GFound = False
    anf:
    If sBlattname = "" Then
    Set ws = ActiveSheet
    Else
    Set ws = ActiveWorkbook.Sheets(sBlattname)
    If ws.Visible  xlSheetVisible Then
    If MsgBox("Blatt """ & sBlattname & """ ist zur Zeit ausgeblendet." _
    & vbLf & vbLf & "Suche nicht möglich! Blatt jetzt einblenden?", _
    vbInformation + vbYesNo, "Suche in Tabellenblatt") = vbNo Then
    Exit Sub
    Else
    ws.Visible = xlSheetVisible
    End If
    End If
    End If
    sSearch = InputBox("Suche" & " nach:", "Search In All Tables", sSearch)
    If sSearch = "" Then
    Exit Sub
    End If
    weiter:
    With ws.Cells
    Set c = .Find(sSearch, LookIn:=xlValues, lookat:=xlPart, MatchCase:=False)
    If Not c Is Nothing Then
    GFound = True
    ws.Select
    c.Select
    Selection.Offset(0, 1).Select
    firstAddress = c.Address
    If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbYes Then
    Do
    Set c = .FindNext(c)
    secAddress = c.Address
    If c.Address = firstAddress Then
    Exit Do
    End If
    c.Select
    Selection.Offset(0, 1).Select
    If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbNo Then
    GWeiter = True
    GoTo ende
    End If
    Loop While Not c Is Nothing And secAddress  firstAddress And c.Address   _
    firstAddress
    Else
    GWeiter = True
    GoTo ende
    End If
    End If
    End With
    ende:
    If GFound = False Then
    If MsgBox("Suchwert nicht gefunden ! Neue Suche ?", vbInformation + vbYesNo) = vbYes  _
    Then
    GoTo anf:
    End If
    Else
    If GWeiter = False Then
    If MsgBox("Sie haben das Tabellenblatt durchsucht ! Soll die Suche neu gestartet  _
    werden ?", vbInformation + vbYesNo) = vbYes Then
    GoTo weiter
    End If
    End If
    End If
    End Sub
    


  • Funktioniert auch super. Die Namen werden gefunden und der Cursor springt automatisch in die Spalte B auf gleicher Höhe wie der gefundene Name.
    Ich hätte nun gerne, dass die Zelle in Spalte B die dem Namen in Spalte A entspricht, farbig markiert wird. Ein schönes Lindgrün oder zartes Blau wäre super. Wichtig ist, dass man die Eingabe, die in Spalte B gemacht wird, ohne Probleme noch lesen kann.
    Wenn der Suchvorgang erfolglos war und man weitersucht, dann soll die Farbe wieder verschwinden.
    Ebenso soll die Farbe verschwinden, wenn man eine Eingabe gemacht hat und eine neue Suche startet.
    DAs Einfärben soll also nur dazu dienen, die entsprechende Zelle in Spalte B besser kenntlich zu machen. Es soll nicht permanent sein und verschwinden, wenn weiter gesucht wird, wenn eine Eingabe erfolgt oder wenn die Suche abgebrochen wird.
    Gibts hier ne Möglichkeit?
    Wäre super
    Einen schönen Tag wünscht
    Jochen

    3
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: gefundene Zellen färben
    21.10.2011 10:34:47
    Jack
    Hallo
    der befehl ist
    ActiveCell.Interior.ColorIndex = "deine Farbe"
    kannst dir eine aus 56? aussuchen =)
    lg
    AW: gefundene Zellen färben
    24.10.2011 02:45:13
    Jochen
    Hallo und schönen guten Morgen,
    vielen Dank Jack für Deine Antwort. Nur wo setz ich den Befehl genau hin? Hab irgendwie den Überblick verloren.
    Merci und nen schönen Tag wünscht
    Jochen
    AW: gefundene Zellen färben
    24.10.2011 05:43:33
    Jochen
    Schönen Guten Morgen nochmals,
    hab ein wenig nachgedacht: Die Lösung von Jack färbt mir jede aktive Zelle ein.
    Das Problem bleibt aber trotzdem bestehen:
    Ich mache eine Suche in Spalte A, Excel findet den Begriff, der Cursor springt in die benachbarte Zelle in Spalte B und diese Zelle soll farblich markiert werden. Wird die Suche beendet, soll die Markierung bestehen bleiben, und zwar solange keine Eingabe erfolgt (Sprung zu einer anderen Zelle) oder bis eine Eingabe in die Zelle erfolgt ist. Wir die Suche fortgesetzt, soll die Markierung ebenfalls verschwinden.
    Weiß jemand eine Lösung? Ich glaube, der entsprechende Code muss in den oben zitierten eingefügt werden. Nur wohin?
    Vielen Dank für Eure Mühen und schöne Grüße
    Jochen
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige