gesuchte zellen automatisch in excel markieren

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ganz automatisch finde ich das schwierig. Du kannst zwar mit:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.Interior.ColorIndex = 4
End Sub

das Selection Change abfangen und die ausgewählte Zelle so einfärben, aber das würde dann immer passieren, wenn Du in den Bereich klickst. Ich wüsste jetzt nicht, wie ich die Suchabfrage VORHER in einem Code erkennen könnte.
MEIN Vorschlag wäre, sich das auf einen CommandButton zu legen:

Private Sub CommandButton1_Click()
ActiveCell.Interior.ColorIndex = 4
End Sub

Dann musst Du zwar immer einmal klicken, aber .....
Du kannst das Ganze natürlich auch als Sub in ein Modul packen, und dem Makro dann einen Shortcut zuweisen. Dann kannst Du die aktive Zelle immer mit z.B.: STRG & j (oder so) einfärben.

Woher ich das weiß:Beruf – IT-Administrator (i.R.)

P.S.:
Ich könnte Dir höchstens noch etwas zusammenbasteln, sodass Du in eine bestimmte Zelle, z.B. A1, den zu suchenden Wert schreibst, und dann der gefundene Wert gefärbt wird. Sobald Du den nächsten Wert in A1 schreibt wird dieser dann zusätzlich gefärbt.
DAS ist vielleicht da sinnvollste!?

0
@Oubyi

Das wäre TOP! Genau das suche ich. Kannst du mir so ein Script schreiben?

0
@fantastica1000

Ok. Habe schon gebastelt.
Kopiere mal das hier in das Modul des Tabellenblattes (Rechtsklick auf den Tabellenreiter (ganz unten, wo z.B. Tabelle1 steht) und dann "Code anzeigen".

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Dim rngSuchen As Range
Set rngSuchen = Range("A2:A1000"). _
Find(What:=Target.Value, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByColumns)
If rngSuchen Is Nothing Then
Target.Select
MsgBox ("Nicht gefunden")
Exit Sub
End If
rngSuchen.Interior.ColorIndex = 4
Target.Select
'rngSuchen.Select
End If
End Sub

Das gilt jetzt für das Eingabefeld A1 und den Suchbereich A2:A1000. Das kannst du ganz einfach anpassen.
Ich habe es jetzt so geschrieben, dass der Focus immer auf dem Feld A1 bleibt, Du also eine Nummer nach der anderen Eingeben kannst.
Wenn Du lieber möchtest, dass die gefundene Zelle selektiert wird, dann einfach das Hochkomma vor:
'rngSuchen.Select
löschen.
Wenn Du andere Farben willst, einfach die 4 ändern, in einen Wert zwischen 1 und 56 und dann ausprobieren.
Kommst Du klar?

0

Das geht auch ohne VBA, dafür gibt es z.B. Bedingte Formatierungen.

Versuch folgendes: in A1 schreibst du die Zahl, die du suchst. Nun gehst du auf die erste Bestellnummer in deiner Liste, gehst auf Beabreiten -> Bedingte Formatierung gibst dort ein: "=$A$1" (die $ sind wichtig) und stellst das Format auf "grüner Hintergrund".

Dann benutzt du den "Format übertragen"-Pinsel (in der Symbolleiste) und markierst damit dann alle anderen Bestellnummern. Siehe da - alle Bestellnummern, die gleich der in A1 sind, werden grün!

Wenn er die nächste Nummer eingibt werden sie aber wieder neutral!

0
@Oubyi

GENAU ! Das ist eben das Problem und gibt es dafür ein Script, so dass die Markierungen nach jeder Suche farblich markiert bleiben.

0

Aber verschwindet nicht nach jeder Suche die Formatierung wieder? Vielleicht habe ich das falsch beschrieben. Also folgende SItuation:

A1 = 1 A2 = 2 A3 = 3

ich gehe nun auf das such fenster excel und gebe 1, dann springt er in zelle a1 un diese soll er in grün markieren. Ich gehe wieder in das Suchfenster und suche 2. Er springt in zelle a2 und diese soll er auch in grün markieren. die markierung soll auch nach jeder suche bestehen bleiben.

0
@fantastica1000

Stimmt, bei jeder neuen Suche gehen die Markierungen wieder weg. Ich dachte, du wolltest nur kurzfristig herausfinden, welche Zellen gleich sind. Für etwas permanentes brauchst du wohl in der Tat VBA.

0

Unter Nummer verstehst du jetzt die Nummern der Bestellungen (also zB 6253946)?
Oder wie sind die Bestellnummern aufgebaut?

genau

0
@fantastica1000

Also Script hab ich jetzt keins zur Hand. Aber sortier die Tabelle doch einfach nach Bestellnummern. Dann liegen die Bestellnummern in sortierter Reihenfolge (aufsteigend oder absteigend) vor. Dann musst du zwar immer noch suchen, aber es ist dann doch erheblich einfacher. So würde ich das machen.

0

Was möchtest Du wissen?