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

Forumthread: Scuchwert mit VBA finden und markieren

Scuchwert mit VBA finden und markieren
12.10.2016 15:29:40
miro
Hallo zusammen,
ich habe ein Problem, dass ich täglich in der verschiedene sehr grosse Tabelle Werte suchen muss. Ich brauche ein Macro, welches eine Suchfunktion erzeugt für eine Bereich (A3:A30) und die Ergebniszelle (wichtig) anschliessend markiert. Am besten der Benutzer gibt ein Suchbegriff in einem MsgBox ein z.B ArtikelNr. Wie kann ich es dies in Excel anstellen.
Ich kann leider kein VBA aber ich hoffe das Problem einigermaßen beschrieben zu haben.
Danke + Gruss
miro
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Scuchwert mit VBA finden und markieren
12.10.2016 15:39:38
Daniel
Hi
brauchst du auch kein VBA für.
lass den Anwender den Suchtext in eine freie Zelle eingeben (z.B. B1) und erstelle dann für die Zellen A3:A30 eine Bedingte Formatierung mit dieser Formel als Regel:
=IstZahl(Suchen($B$1;A3))
dabei kann der Anwender dann entscheiden, ob er auf genaue Übereinstimmung prüfen will, oder ob der mit den Optionen Enthält, Beginnt mit, Endet mit suchen will, indem der ein * als Jokerzeichen an den entsprechenden Stellen einsetzt (das ? als Joker für genau ein Zeichen geht auch)
Gruß Daniel
Anzeige
AW: Scuchwert mit VBA finden und markieren
12.10.2016 16:00:08
miro
Hallo Daniel
irgend wie funktioniert bei mir nicht richtig.
Für mich wäre am besten wenn der User in dem MsgBox Suchwert eingibt und Excel wird bei
erfolgereichem Ergebniss gleichzeitig in die Ergebniss Zelle springen evtl. noch mit eine farbe. So kann er diese Zelle anschauen und als erledigt markieren.
Weil sonst muss der User immer wieder scrollen was überhaupt nicht effizient ist.?
miro
Anzeige
AW: Scuchwert mit VBA finden und markieren
12.10.2016 16:00:14
miro
Hallo Daniel
irgend wie funktioniert bei mir nicht richtig.
Für mich wäre am besten wenn der User in dem MsgBox Suchwert eingibt und Excel wird bei
erfolgereichem Ergebniss gleichzeitig in die Ergebniss Zelle springen evtl. noch mit eine farbe. So kann er diese Zelle anschauen und als erledigt markieren.
Weil sonst muss der User immer wieder scrollen was überhaupt nicht effizient ist.?
miro
Anzeige
AW: Scuchwert mit VBA finden und markieren
12.10.2016 16:23:59
Daniel
Ja, mag sein.
wenn du aber keine Ahnung von VBA hast, tue ich mir schwer dir eine VBA-Lösung an die Hand zu geben.
Schließlich bist du für die Lösung verantwortlich, und nicht ich, also solltest du sie auch beherrschen.
Scrollen muss dein Anwender auch nicht, man kann mit dem Autofilter nach Farben filtern, auch nach den Farben, die durch die Bedingte Formatierung erzeugt werden.
Der Autofilter hätte meiner Ansicht nach mehrere Vorteile:
1. man sieht sofort, ob es mehrere Begriffe begriffe gibt oder nicht.
2. als Erledigt gekennzeichnete Zeilen könnten über den Autofilter auch ausgeblendet werden. Bzw es wäre auch möglich, gleich über die Bedingte Formatierung zu steuern, dass erledigte Einträge nicht gefärbt werden.
Gruß Daniel
Anzeige
AW: Scuchwert mit VBA finden und markieren
12.10.2016 16:26:33
KlausF
Hallo Miro,
probier mal:
Sub Finden()
Dim strSUCH As Variant
Dim rngSUCH As Range
Dim lngFind As Long
strSUCH = Application.InputBox("Bitte Eingabe tätigen:")
Set rngSUCH = ActiveSheet.Range("A3:A30").Find(What:=strSUCH, _
Lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
If Not rngSUCH Is Nothing Then
lngFind = rngSUCH.Row
Cells(lngFind, 1).Interior.ColorIndex = 3
Cells(lngFind, 1).Select
Else
MsgBox "Der gesuchte Wert " & strSUCH & " wurde nicht gefunden.", _
64, "Nicht gefunden."
End If
Set rngSUCH = Nothing
End Sub
Gruß
Klaus
Anzeige
AW: Scuchwert mit VBA finden und markieren
12.10.2016 16:40:42
miro
Hallo Klaus
es hat super funktioniert!!
Danke + Gruss
miro
AW: Scuchwert mit VBA finden und markieren
12.10.2016 16:46:45
Bastian
Hey ho oder so
Gruß Basti

Sub suchen()
Dim Targetstr As String
Dim x As Variant
Targetstr = InputBox("Was suchen Sie?"): If Targetstr = "" Then Exit Sub
With Worksheets("Tabelle1")
x = Application.Match(Targetstr, .Columns(1), 0)
If IsNumeric(x) Then
With .Cells(x, 1)
.Interior.Color = vbRed
.Select
End With
Else
MsgBox "Wert nicht gefunden"
End If
End With
End Sub

Anzeige
AW: Scuchwert mit VBA finden und markieren
12.10.2016 18:10:25
snb
warum keine kluge Tabelle kombiniert mit autofilter ?
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Suchwert mit VBA finden und markieren


Schritt-für-Schritt-Anleitung

Um in Excel einen Suchwert mit VBA zu finden und die entsprechende Zelle zu markieren, gehe wie folgt vor:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Projekt-Explorer mit der rechten Maustaste auf „VBAProject (deine Arbeitsmappe)“, wähle „Einfügen“ und dann „Modul“.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub Finden()
       Dim strSUCH As Variant
       Dim rngSUCH As Range
       Dim lngFind As Long
       strSUCH = Application.InputBox("Bitte Eingabe tätigen:")
       Set rngSUCH = ActiveSheet.Range("A3:A30").Find(What:=strSUCH, _
           Lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
       If Not rngSUCH Is Nothing Then
           lngFind = rngSUCH.Row
           Cells(lngFind, 1).Interior.ColorIndex = 3 ' Zelle rot färben
           Cells(lngFind, 1).Select ' Zelle auswählen
       Else
           MsgBox "Der gesuchte Wert " & strSUCH & " wurde nicht gefunden.", _
           64, "Nicht gefunden."
       End If
       Set rngSUCH = Nothing
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: Drücke ALT + F8, wähle „Finden“ aus und klicke auf „Ausführen“. Es wird ein Eingabefeld angezeigt, in dem du den Suchwert eingeben kannst.


Häufige Fehler und Lösungen

  • Fehler: „Der gesuchte Wert wurde nicht gefunden.“

    • Lösung: Stelle sicher, dass der Suchwert tatsächlich im Bereich A3:A30 vorhanden ist. Achte auch auf Groß- und Kleinschreibung, wenn „MatchCase“ auf „True“ steht.
  • Fehler: Zelle wird nicht markiert.

    • Lösung: Überprüfe, ob der Code korrekt in das Modul eingefügt wurde und dass der Bereich A3:A30 nicht leer ist.

Alternative Methoden

Falls du VBA nicht nutzen möchtest, kannst du auch die Bedingte Formatierung verwenden:

  1. Wähle den Bereich A3:A30 aus.

  2. Gehe zu „Start“ > „Bedingte Formatierung“ > „Neue Regel“.

  3. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“ und gib die folgende Formel ein:

    =ISTZAHL(SUCHEN($B$1; A3))
  4. Wähle ein Format (z.B. eine Hintergrundfarbe) aus und klicke auf „OK“. Der Suchwert wird dann in der Excel-Suche hervorgehoben.


Praktische Beispiele

Beispiel 1: Wenn du nach der Artikelnummer „12345“ suchst, gib diese einfach in das Eingabefeld ein, und das Makro wird die Zelle in rot markieren, wenn sie gefunden wird.

Beispiel 2: Verwende die Bedingte Formatierung, um alle Zellen in A3:A30, die den Text „Artikel“ enthalten, hervorzuheben. Dazu kannst du „Artikel“ im Feld B1 eingeben.


Tipps für Profis

  • Nutze Jokerzeichen wie * und ? in deinem Suchbegriff, um flexiblere Suchanfragen durchzuführen.
  • Experimentiere mit dem Autofilter in Excel, um die Ergebnisse schneller zu verfeinern, besonders wenn du mit großen Datensätzen arbeitest.
  • Speichere dein VBA-Makro als Teil deiner Arbeitsmappe, um es bei zukünftigen Suchen wiederverwenden zu können.

FAQ: Häufige Fragen

1. Frage Kann ich das Makro anpassen, um auch in anderen Spalten zu suchen?

Antwort: Ja, du kannst den Bereich in der Zeile Set rngSUCH = ActiveSheet.Range("A3:A30") anpassen, um andere Spalten zu durchsuchen.

2. Frage Wie kann ich die Farbe ändern, in der die Zelle markiert wird?

Antwort: Ändere den Wert in Cells(lngFind, 1).Interior.ColorIndex = 3 zu einer anderen Zahl (z.B. 6 für gelb) oder verwende Interior.Color = RGB(255, 0, 0) für eine benutzerdefinierte Farbe.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige