online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Knutschi10 vom 21.09.2021, 12:13 Options

Lösung

Suchergebniss farbig hervorheben

Ein freundliches Hallo

Wieder einmal habe ich ein Problem, das ich allein nicht lösen kann.
Wie kann ich ein Suchergebniss mit Strg + F farblich(gelb) hervor heben?
Dabei sollte aber anschließend die ursprüngliche Zellfarbe (weiß) wieder hergestellt werden.

Ich habe gehört das dies schon im Excel mit Background Color gehen soll.
Kennt jemand die dazu gehörige Formel ??

Oder muss das wieder über VBA gemacht werden.


Vielen Dank im Voraus
Sven


Antwort schreiben

Antwort 1 von Saarbauer vom 21.09.2021, 14:23 Options

Hallo,

http://www.supportnet.de/threads/1132096

dort wird das Problem behandelt, ich hoffe es hilft weiter

Gruß

Helmut

Antwort 2 von Knutschi10 vom 21.09.2021, 16:33 Options

Hi Helmut

bei den vorschlägen die du mir gemacht hast is nich wirklich was dabei.

Ich wollte das die Zelle wo das gesuchte Kennzeichen drinn ist gelb gekennzeichnet wird und sobald ein neues Kennzeichen gesucht und gefunden iss die vorherige zelle die gelb war wieder weiß ist und die gefundene neue jetzt gelb.
So müsste ich nich immer über den Bildschirm suchen und hätte das Kenneichen das ich gesucht hab immer im blick.

vielen dank für deinen Ratschlag.

viele grüße Sven

Antwort 3 von rainberg vom 21.09.2021, 17:53 Options

Hallo Sven,

angenommen Du suchst in der Spalte A, dann müsste folgender Code
funktionieren.

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Selection, Range("A:A")) Is Nothing Then
        Range("A:A").Interior.ColorIndex = xlNone
        Selection.Interior.ColorIndex = 6
    End If
End Sub


Gruß
Rainer

Antwort 4 von fedjo vom 21.09.2021, 18:01 Options

Hallo Sven,
hab dir mal eine Musterdatei Suchen erstellt.

Gruß
fedjo

Antwort 5 von Saarbauer vom 21.09.2021, 18:24 Options

Hallo,

ging vielleicht auch mit "bedingter Formatierung", mit

"Zellwert ist" "gleich" A1

und dann mit Muster die Farbe, hier gelb, festlegen. In A1 steht dein Suchwert.

Gruß

Helmut

Antwort 6 von Knutschi10 vom 23.09.2021, 12:05 Options

Ein freundliches Hallo

Vielen Dank für die guten Ratschläge und im Grundegenommen funzt alles super.
Aber ich kann nun mein Arbeitsblatt über Extras -> Schutz -> Blattschutz
nicht mehr mit einem Passwort schützen.
Es erscheinen zwei Fehlermeldungen

1.Laufzeitfehler 1004

NumberFormat - Eigenschaft des Range - Objektes kann nicht festgelegt werden.

und 2. Laufzeitfehler 1004

Die ColorIndex - Eigenschaft des Range - Objektes kann nicht festgelegt werden.

Meine Tabelle 1 sieht wie folgt aus:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then

If Target.Value = "" Then
With Target.Offset(0, 3)
.NumberFormat = "hh:mm:ss"
.Value = ""
End With

Else
With Target.Offset(0, 3)
.NumberFormat = "hh:mm:ss"
.Value = Time
End With


End If
End If


End Sub




Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Selection, Range("C:C")) Is Nothing Then
Range("C:C").Interior.ColorIndex = xlNone
Selection.Interior.ColorIndex = 5
End If
End Sub


Was muss ich ändern so das ich mein Arbeitsblatt wieder schützen kann.
Ich vergaß das Spalte C nicht geschützt ist, da dort die kennzeichen hinein kommen.

und gibt es eine Möglichkeit das nach der Funktion " suchen in C " die Ausfahrzeiten in Spalte G eintragen zu lassen?
Kann ich dazu das obere Makro so ändern das dies in Spalte G eingetragen wird ?

Ich danke allen noch mals für die Unterstützung und Ratschläge die mir sehr geholfen haben mein Projekt wahr werden zu lassen.

Für weitere hilfe bin ich sehr Dankbar
Mit freundlichem Gruß
Sven

Antwort 7 von coros vom 23.09.2021, 12:45 Options

Hallo Sven,

Das mit dem Passwort kann man lösen. Tuasche Deinen VBA-Code gegen den folgenden aus.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Const strPasswort = "Hier das Passwort eintragen"

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then
    ActiveSheet.Unprotect strPasswort
    If Target.Value = "" Then
        With Target.Offset(0, 3)
            .NumberFormat = "hh:mm:ss"
            .Value = ""
        End With
    Else
        With Target.Offset(0, 3)
            .NumberFormat = "hh:mm:ss"
            .Value = Time
        End With
    End If
    ActiveSheet.Protect strPasswort
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Selection, Range("C:C")) Is Nothing Then
    ActiveSheet.Unprotect strPasswort
    Range("C:C").Interior.ColorIndex = xlNone
    Selection.Interior.ColorIndex = 5
    ActiveSheet.Protect strPasswort
End If
End Sub

In der Zeile

Const strPasswort = "Hier das Passwort eintragen"
musst Du anstelle des Textes "Hier das Passwort eintragen" Dein Passwort eintragen. Achtung! Datei nicht die Anführungszeichen löschen, dass Passwort gehört dazwischen.

Zu Deiner 2. Frage kann ich im Moment leider nichts sagen, da ich die Frage irgendwie (noch) nicht verstanden habe.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 8 von Knutschi10 vom 23.09.2021, 15:50 Options

Hi Oliver,

danke erst ma für den Tipp, werde ihn dann gleich ausprobieren..

Die zweite Sache ist folgende. Ich habe eine KFZ - Einfahrtsliste.

In Spalte C wird das Kennzeichen Eingetragen und Excel sucht mir über SVerweiß die Firma und die Gebäudenummer und über das erste Makro die Einfahrtszeit.

Nun dachte ich mir das man das mit der Ausfahrzeit genau so machen könnte. Das heißt wenn ich Strg + F drücke und das Kennzeichen eingebe Exel das in Tabelle 1 sucht und in Spalte F (Ausfahrtszeit) die aktuelle Systemzeit einträgt.
So ähnlich wie bei dem Makro für die einfahrt.

kann mann so etwas realisieren? Ich denke schon,weiß aber leider nich wie.


lieben Gruß
Sven

Antwort 9 von coros vom 23.09.2021, 17:04 Options

Hallo Sven,

irgendwie stehe ich auf dem Schlauch. Wo bitte ist das "erste Makro", dass Dir die Einfahrzeit sucht? Ich sehe das nirgends. Ich sehe nur einen VBA-Code, der in Spalte C die Hintergrundfarbe ändert. Meinst DU das?

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 10 von Knutschi10 vom 24.09.2021, 11:15 Options

Hi Oliver,

erst mal vielen Dank für die Hilfe, funzt wunderbar und es kann mir keiner mehr etwas aus der Tabelle löschen. Klasse.

Folgende Zeilen liefern mir die Zeit in Spalte F :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then

If Target.Value = "" Then
With Target.Offset(0, 3)
.NumberFormat = "hh:mm:ss"
.Value = ""
End With

Else
With Target.Offset(0, 3)
.NumberFormat = "hh:mm:ss"
.Value = Time
End With


End If
End If


End Sub

Wenn mann das eventuell abändern könnte das die Zeit nach dem Strg + F ( Suchergebniss ) durch Enter bestätigt wurde in Spalte F angezeigt wird

Antwort 11 von coros vom 24.09.2021, 11:40 Options

Hallo Sven,

sorry, aber ich verstehe ehrlich gesagt nur Bahnhof. Den VBA-Code, den Du hier immer aufführst, kannst Du nicht mit einer Tastenkombination aufrufen. Der Code wird nur ausgeführt, wenn ein bestimmtes Ereignis eintritt.
Der Code gehört in das VBA-Projekt des Tabellenblatts, in dem er wirken soll.

Du willst nun, dass der Code nicht ausgeführt wird, wenn das Ereignis eintritt, sondern wenn Du ein Makro über die Tastenkombination Strg F startest. Sehe ich das richtig?

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 12 von Knutschi10 vom 24.09.2021, 13:16 Options

Hallo Oliver,

Im ersten Teil Hast du recht, denn der Code trägt die aktuelle Uhrzeit in Spalte F ein sobald ich in Spalte C ein KFZ - Zeichen eingegeben habe.

Jetzt stell dir vor, in Tabelle 1 sind ca. 200 KFZ - Kennzeichen die ich Uhrzeitmäßig aus der Liste austragen muss.
Diese einzelnen Kennzeichen suche ich mit Strg + F.

Nun zu meinem Problem:

Da es ja mit der Einfahrtszeit auch klappt dachte ich mir warum nicht auch mit der Ausfahrzeit. Das heißt wenn in Tabelle 1 in Spalte C das gesuchte KFZ - Kennzeichen gefunden wurde soll Excel die aktuelle Uhrzeit automatisch in Spalte G eintragen. geht das zu machen??

vielen Dank für deine Hilfe

mit freundlichen Gruß an alle

Sven

Antwort 13 von coros vom 24.09.2021, 13:30 Options

Hallo Sven,

und woran soll beim Suchen ausgemacht werden, ob es sich bei dem gefunden Kennzeichen um eine Einfahrzeit oder eine Ausfahrzeit handelt?

Man kann das was dort im Moment für die Einfahrzeit gemacht wurde auch für die Ausfahrzeit realisieren. Allerdings würde dann immer, wenn in Spalte C ein Suchbegriff gefunden wurde, sowohl die Einfahr- als auch die Ausfahrzeit eingetragen, da ja nicht bekannt ist, um welche Zeit es sich handelt.
Oder soll die Ausfahrzeit nur eingetragen werden, wenn in Spalte F eine Einfahrzeit steht?

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 14 von Knutschi10 vom 24.09.2021, 16:14 Options

Hallo Oliver,

ja so in etwa habe ich gedacht.
Mit der Einfahrtszeit gibt es ja kein Problem weil er die ja nur schreibt wenn ich in eine leere " C " Zelle etwas schreibe. Aber das Problem iss ja das dann schon etwas in C steht wenn ich den Befehl abfrage. Wenn ich jetzt die ausfahrzeit eintragen möchte genau bei dem Kennzeichen was ich gesucht habe steht da ja auch ne Einfahrtszeit.also könnte sich diese auf die Ausfahrzeit beziehen.

Irgend wie muss das doch zu machen sein.

viele Grüße an alle
Sven

Antwort 15 von Knutschi10 vom 24.09.2021, 16:19 Options

Hi Oliver

Ich vergaß noch zu sagen das die Ausfahrzeit in Spalte "G" kommt.
da iss dann doch schon ein Unterschied und mann kann eine Bedingung machen das die Zeit nur geschrieben wird wenn in F eine Zeit steht.

Also so wie du es vorgeschlagen hast.

Gruß Sven.

Antwort 16 von coros vom 24.09.2021, 16:21 Options

Hallo Sven,

nachfolgend mal ein Versuch. Ich hoffe, ich habe es halbwegs verstanden und nach Deinen Wünschen umgesetzt.

Tausche den Code gegen Deinen alten Code aus.
Teste den Code aber bitte erst in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then
    If Target.Value = "" Then
        With Target.Offset(0, 3)
        .NumberFormat = "hh:mm:ss"
        .Value = ""
        End With
    Else
        If Target.Offset(0, 3) <> "" Then
            'Ausfahrzeit in Spalte G
            With Target.Offset(0, 4)
            .NumberFormat = "hh:mm:ss"
            .Value = Time
            End With
        Else
            'Einfahrzeit in Spalte F
            With Target.Offset(0, 3)
            .NumberFormat = "hh:mm:ss"
            .Value = Time
            End With
        End If
    End If
End If
End Sub

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 17 von Knutschi10 vom 25.09.2021, 10:33 Options

Hi Oliver,

veilen dank für deine Hilfe.
Es funzt fast perfekt.Nur wird die Ausfahrzeit erst nach einem Doppelklick in die Zelle und danach bestätigen,erst dann erscheint die Zeit.
Kann mann nicht darauf verzichten??
Ich meine wenn das Kennzeichen gefunden wurde nur bestätigen und die Zeit steht in Spalte F ??

Und was muss ich dazu fügen so das beim löschen des Kennzeichens auch die Zeit wieder verschwindet.


mit freundlichen Gruß
Sven

Antwort 18 von coros vom 25.09.2021, 10:50 Options

Hallo Sven,

kannst Du mal etwas deutlicher schrieben, was genau Du nun möchtest. Du schreibst

Zitat:
Ich meine wenn das Kennzeichen gefunden wurde nur bestätigen und die Zeit steht in Spalte F ??


Was genau soll denn betätigt werden, damit das Datum in Spalte G eingetragen wird. Du postest hier einen Ereigniscode, der ausgeführt wird, sobald in Spalte C eine Änderung eintritt. Diesen Code habe ich erweitert. Somit muss in Spalte C eben eine Änderung eintreten, bevor in Spalte F oder G etwas eigetragen wird. Was willst Du nun anders haben?

Damit auch nach dem Löschen des Kennzeichen die Zeit in Spalte G verschwindet, musst Du Deinen Code erweitern. Der sieht dann wie folgt aus:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then
If Target.Value = "" Then
With Target.Offset(0, 3)
.NumberFormat = "hh:mm:ss"
.Value = ""
End With
Target.Offset(0, 4).Value = ""
Else
If Target.Offset(0, 3) <> "" Then
'Ausfahrzeit in Spalte G
With Target.Offset(0, 4)
.NumberFormat = "hh:mm:ss"
.Value = Time
End With
Else
'Einfahrzeit in Spalte F
With Target.Offset(0, 3)
.NumberFormat = "hh:mm:ss"
.Value = Time
End With
End If
End If
End If
End Sub


Den Teil der dazu gekommen ist, habe ich unterstrichen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 19 von Knutschi10 vom 25.09.2021, 11:43 Options

Hallo Oliver,

sorry das ich nerve und mich unverständlich ausgedrückt habe.
Es tut mir sehr leid.

Es soll praktisch so sein wie in Spalte " F ". Ich gebe ein Kennzeichen ein und in Spalte " F " erscheint die Einfahrtszeit nach drücken von "Enter". Wenn jetzt ein Auto wieder raus fährt, sollte es so sein, das ich mit Strg + F das Kennzeichen suche , und die aktuelle Zeit in Spalte "F" angezeigt wird. Dieses war mein Grundgedanke.

sei bitte nicht sauer auf mich.

lieben Gruß Sven.

Antwort 20 von coros vom 25.09.2021, 11:46 Options

Hallo Seven,

ich bin nicht sauer. Allerdings nun etwas verwundert. In Deinen anderen Beiträgen sollte die Ausfahrzeit in Spalte G erscheinen. Nun nach Deinem letzten Beitrag bin ich da aber nicht mehr so sicher, weil Du schreibst:

Zitat:
Wenn jetzt ein Auto wieder raus fährt, sollte es so sein, das ich mit Strg + F das Kennzeichen suche , und die aktuelle Zeit in Spalte "F" angezeigt wird.


Wo soll denn nun die Zeit erscheinen? in Spalte F oder G?

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ähnliche Themen

OpenOffice - kleinsten Wert farbig darstellen
sutadur  29.04.2008 - 23 Hits - 3 Antworten

Ergebnisfenster farbig in Excel darstellen lassen
Wogge  19.03.2008 - 104 Hits - 1 Antwort

nur die aktive Zelle Farbig
woherh  09.05.2008 - 75 Hits - 4 Antworten

2 spalten vergleichen- unterschied hervorheben
sarah-oc  30.06.2008 - 321 Hits - 3 Antworten

egebnis farbig in excel
vercel  03.09.2008 - 25 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026