Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Suchfeld VBA Excel

Betrifft: Suchfeld VBA Excel von: Daniel
Geschrieben am: 11.09.2014 10:46:12

Hallo Leute,

Ich hoffe hier ihr könnt mir helfen, bin neu auf dem VBA Gebiet in Excel und stehe vor der Aufgabe ein "einfaches" Suchfeld (evtl. Texteingabefeld als ActiveX Steuerelement) in Excel 2007 mit einem Makro zu verknüpfen. Ich möchte per Texteingabe in das Suchfeld meine Exceltabelle(bis zu 20 spalten und 200 Zeilen) durchsuchen lassen und mir die Übereinstimmungen des Suchwortes(die entsprechende zugehörige Zeile) anzeigen lassen. Also ähnlich wie es der Autofilter bei Excel macht, nur dass es halt ein Suchfeld sein soll mit Makro. Ich würde mich freuen, wenn ihr mir da weiterhelfen könnt:)

Viele Grüße, Daniel

  

Betrifft: AW: Suchfeld VBA Excel von: Robert
Geschrieben am: 11.09.2014 11:30:00

Hallo Daniel,

soll das Ganze nur bei genauen Übereinstimmungen anschlagen oder auch bei teilweise übereinstimmungen (wie die suchfunktion bei Excel?)

viele Grüße
Robert


  

Betrifft: AW: Suchfeld VBA Excel von: daniel
Geschrieben am: 11.09.2014 17:59:27

Hallo Robert, danke für deine Antwort. Also bei der genauen Übereinstimmung würde schon reichen. ich nehme an, das ist einfacher vom Code.
Viele Grüße,
Daniel


  

Betrifft: AW: Suchfeld VBA Excel von: Crazy Tom
Geschrieben am: 14.09.2014 07:53:04

Hallo

das könnte so gehen

Sub suchen()
    Dim Suchergebnis As Range
    Dim Suchwert
    Suchwert = InputBox("gesuchen Wert eingeben")
    If Suchwert = "" Then Exit Sub
    With Range("A1:T200")
    Set Suchergebnis = .Find(Suchwert, LookIn:=xlValues, lookat:=xlWhole)
        If Not Suchergebnis Is Nothing Then
            MsgBox Suchergebnis.Row
        Else
            MsgBox "nix gefunden"
        End If
    End With
End Sub
MfG Tom


  

Betrifft: AW: Suchfeld VBA Excel von: Robert
Geschrieben am: 16.09.2014 14:46:51

Hallo Daniel,

Bitte entschuldige die späte Antwort.
Folgender Code macht genau was du willst.
Am besten in ein Makromodul packen und einen Button auf dem entsprechenden Tabellenblatt das Makro aufrufen lassen.

Sub Finden()
Dim x As Long
Dim SuchErgebnis As Range
Dim SuchWert As Variant
Dim FirstAddress

SuchWert = InputBox("Bitte Suchwert eingeben:")

With ActiveSheet
    .UsedRange.EntireRow.Hidden = False
    Set SuchErgebnis = .UsedRange.Find(SuchWert, LookIn:=xlValues, Lookat:=xlWhole)
    If Not SuchErgebnis Is Nothing Then
        FirstAddress = SuchErgebnis.Address
        Do
            SuchErgebnis.EntireRow.Hidden = True
            Set SuchErgebnis = UsedRange.FindNext(SuchErgebnis)
        Loop While Not SuchErgebnis Is Nothing
    End If
For x = UsedRange.Row To UsedRange.SpecialCells(xlCellTypeLastCell).Row
    .Rows(x).EntireRow.Hidden = Not .Rows(x).EntireRow.Hidden
Next x
End With
End Sub
viele Grüße
Robert