Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Suche in Spalte nach Wert

Suche in Spalte nach Wert
06.03.2017 12:34:03
Martin
Hallo Community,
ich benötige Hilfe bei einer Aufgabe.
Ich habe eine Datei erstellt in der ich in der Spalte H nach einem Wert suche, welchen ich in eine, Eingabefeld schreibe. Wenn dieser Wert gefunden wurde soll mir Excel die ganze Zeile Filtern. Wenn nicht, mit einer Massagebox einen Hinweis wiedergeben, dass nix gefunden wurde.
Könnt IHr mir da helfen?
Vielen Dank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Suche in Spalte nach Wert
08.03.2017 16:00:33
Piet
Hallo Martin
helfen kann ich dir mit zwei Makros bezüglich Suchlauf. Du must sie im VBA Edito in ein normales Modul kopieren und kannst sie über einen normalen CommandButton starten (kein ActiveX !!). Dazu must du das Makro zuweisen, dann kann der Suchlauf starten. Ein Makro startet aus einer Zelle heraus, wo du selbst angeben must welche Zelle das ist. Ich habe Range("A1") genommen, must du ggf. aendern. Das zweite Makro startet über eine InpuBos. Jetzt hast du zum Suchen die freie Auswahl!
Was du mit Zeile filtern meinst habe ich nicht verstanden. Kannst du das naeher erlaeutern.
mfg Piet

Sub Einfach_Suchen_per_InputBox()
Dim rFind As Object, SuchTxt As String
SuchTxt = InputBox("Suche nach:")
If SuchTxt = Empty Then Exit Sub
Set rFind = Columns("H").Find(What:=SuchTxt, LookIn:=xlValues, LookAt:=xlPart)  'oder  _
xlWhole
If rFind Is Nothing Then MsgBox SuchTxt & "  wurde nicht gefunden!!": Exit Sub
End Sub
Sub Einfach_Suchen_per_Eingabe()
Dim rFind As Object, SuchTxt As String
SuchTxt = Range("A1").Value
If SuchTxt = Empty Then Exit Sub
Set rFind = Columns("H").Find(What:=SuchTxt, LookIn:=xlValues, LookAt:=xlPart)  'oder  _
xlWhole
If rFind Is Nothing Then MsgBox SuchTxt & "  wurde nicht gefunden!!": Exit Sub
End Sub

Anzeige
AW: Suche in Spalte nach Wert
08.03.2017 16:00:33
Piet
Hallo Martin
helfen kann ich dir mit zwei Makros bezüglich Suchlauf. Du must sie im VBA Edito in ein normales Modul kopieren und kannst sie über einen normalen CommandButton starten (kein ActiveX !!). Dazu must du das Makro zuweisen, dann kann der Suchlauf starten. Ein Makro startet aus einer Zelle heraus, wo du selbst angeben must welche Zelle das ist. Ich habe Range("A1") genommen, must du ggf. aendern. Das zweite Makro startet über eine InpuBos. Jetzt hast du zum Suchen die freie Auswahl!
Was du mit Zeile filtern meinst habe ich nicht verstanden. Kannst du das naeher erlaeutern.
mfg Piet

Sub Einfach_Suchen_per_InputBox()
Dim rFind As Object, SuchTxt As String
SuchTxt = InputBox("Suche nach:")
If SuchTxt = Empty Then Exit Sub
Set rFind = Columns("H").Find(What:=SuchTxt, LookIn:=xlValues, LookAt:=xlPart)  'oder  _
xlWhole
If rFind Is Nothing Then MsgBox SuchTxt & "  wurde nicht gefunden!!": Exit Sub
End Sub
Sub Einfach_Suchen_per_Eingabe()
Dim rFind As Object, SuchTxt As String
SuchTxt = Range("A1").Value
If SuchTxt = Empty Then Exit Sub
Set rFind = Columns("H").Find(What:=SuchTxt, LookIn:=xlValues, LookAt:=xlPart)  'oder  _
xlWhole
If rFind Is Nothing Then MsgBox SuchTxt & "  wurde nicht gefunden!!": Exit Sub
End Sub

Anzeige
AW: Suche in Spalte nach Wert
11.03.2017 07:45:09
Hajo_Zi
Hallo Piet,
warum offen, Du hast doch eine Lösung gepostet, lasse den Fragesteller entscheiden ob offen.

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Wert in Spalte suchen und filtern in Excel


Schritt-für-Schritt-Anleitung

Um in Excel einen Wert in einer bestimmten Spalte zu suchen und die entsprechende Zeile zu filtern, kannst du die folgenden Schritte ausführen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deinWorkbookName)" und wähle Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:

    Sub Einfach_Suchen_per_InputBox()
       Dim rFind As Object, SuchTxt As String
       SuchTxt = InputBox("Suche nach:")
       If SuchTxt = Empty Then Exit Sub
       Set rFind = Columns("H").Find(What:=SuchTxt, LookIn:=xlValues, LookAt:=xlPart)  'oder xlWhole
       If rFind Is Nothing Then MsgBox SuchTxt & " wurde nicht gefunden!!": Exit Sub
       ' Hier kannst du die Zeile filtern
       rFind.EntireRow.Hidden = False
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Füge einen CommandButton hinzu:

    • Gehe zu Entwicklertools > Einfügen > Button (Formularsteuerelement) und ziehe ihn auf das Arbeitsblatt.
  6. Weise das Makro zu:

    • Klicke mit der rechten Maustaste auf den Button, wähle Makro zuweisen und wähle Einfach_Suchen_per_InputBox.
  7. Teste das Makro:

    • Klicke auf den Button und gib einen Wert ein, der in Spalte H vorhanden ist.

Häufige Fehler und Lösungen

Fehler: "Wert wurde nicht gefunden"

  • Lösung: Überprüfe, ob der gesuchte Wert tatsächlich in Spalte H vorhanden ist. Achte auch auf Groß- und Kleinschreibung.

Fehler: Der Button funktioniert nicht

  • Lösung: Stelle sicher, dass das Makro korrekt zugewiesen wurde. Prüfe auch, ob du in der richtigen Arbeitsmappe arbeitest.

Alternative Methoden

  • Verwendung von Excel-Funktionen: Du kannst die Funktion VERGLEICH() verwenden, um den Wert in der Spalte zu finden. Diese Methode ist jedoch weniger flexibel als ein VBA-Makro.

  • AutoFilter: Du kannst auch das AutoFilter-Feature in Excel verwenden, um eine Spalte nach einem Wert zu filtern, ohne VBA zu nutzen.


Praktische Beispiele

  1. Wert in Spalte H suchen: Gehe auf das Arbeitsblatt, gib den Wert in die InputBox ein und klicke auf den Button. Der Code sucht in Spalte H und gibt eine Meldung aus, falls der Wert nicht gefunden wird.

  2. Filter für alle Zeilen aktivieren: Du kannst den Code erweitern, um alle Zeilen zu filtern, die den gesuchten Wert enthalten, indem du eine Schleife hinzufügst.


Tipps für Profis

  • xlWhole vs xlPart: Verwende xlWhole, wenn du nach dem genauen Wert suchst, und xlPart, wenn du nach einem Teil des Wertes suchst.

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um unvorhergesehene Fehler elegant zu behandeln.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehrere Spalten zu durchsuchen? Du kannst die Find-Methode in einer Schleife über die gewünschten Spalten verwenden.

2. Kann ich das Makro auch ohne einen Button ausführen? Ja, du kannst das Makro direkt im VBA-Editor ausführen oder eine Tastenkombination zuweisen.

3. Was mache ich, wenn ich einen Wert in einer anderen Spalte suchen möchte? Ändere einfach die Spalte in der Columns("H") Zeile auf die gewünschte Spalte, z.B. Columns("A") für die Spalte A.

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