Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1356to1360
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfenster über VBA

Suchfenster über VBA
09.04.2014 17:08:29
Flo
Hallo zusammen,
ich hab mal wieder ein Problem. :)
Ich möchte für eine Liste ein Suchfenster über eine Userform erstellen.
Dazu hab ich auch im Archiv einen Ansatz gefunden. :)

Die Datei https://www.herber.de/bbs/user/44980.xls wurde aus Datenschutzgründen gelöscht


Jetzt ist hier nur das Problem, sobald ich in das Suchfenster etwas eintrage.
Beispielsweise nur ein M findet die Suche bereits einen Eintrag Müller.
Er sucht hier also auch nach Teilen der Einträge.
Ich benötige allerdings eine Suche die genau nach dem sucht was ich in das Suchfenster eingebe. Eine absolute Suche :)
Ich dachte mir ich könnte auf die TextBox1 eine Gültigkeit mit den Werten in Spalte A festlegen.
Leider weiß ich nicht wie ich das machen soll und ob es evtl. einen einfacheren Weg gibt.
Vielen Dank für Eure Hilfe.
Gruß Flo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfenster über VBA
09.04.2014 17:16:56
ransi
Hallo Flo
Die Range.Find-Methode hat viele Parameter.
Aus der Hilfe:
Ausdruck.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
Ausdruck Eine Variable, die ein Range-Objekt darstellt.
Schau dir mal LookAt und MatchCase an. Damit kannst du das einstellen.
ransi

AW: Suchfenster über VBA
09.04.2014 21:28:04
Peter
Hallo Flo,
versuche es einmal so:
Option Explicit
Private Sub CommandButton1_Click()
Dim rZelle        As Range
Dim sFundst       As String
Dim sSuchbegriff  As String
If Trim$(TextBox1.Value)  "" Then
sSuchbegriff = Trim$(TextBox1.Value)
Else
MsgBox "Ohne Suchbegriff, kann nichts gefunden werden.", _
48, "   Hinweis für " & Application.UserName
TextBox1.SetFocus
Exit Sub
End If
With ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
Set rZelle = .Cells.Find(What:=sSuchbegriff, LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
Label1.Caption = .Range("A" & rZelle.Row).Value
Label2.Caption = .Range("B" & rZelle.Row).Value
Label3.Caption = .Range("C" & rZelle.Row).Value
If MsgBox("   Weitersuchen?   ", vbYesNo, _
"   Frage an " & Application.UserName) = vbNo Then Exit Sub
Set rZelle = Columns(1).FindNext(rZelle) ' den evtl. nächsten Begriff suchen
If rZelle.Address = sFundst Then
MsgBox "Es gibt keine weiteren zum Suchbegriff  """ & sSuchbegriff & """   _
passenden Einträge.", _
48, "   Hinweis für " & Application.UserName
End If
Loop While Not rZelle Is Nothing And rZelle.Address  sFundst
Else
MsgBox "Der gesuchte Begriff  """ & sSuchbegriff & """  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
End If
End With
End Sub

Gruß Peter

Anzeige
AW: Suchfenster über VBA
14.04.2014 12:23:58
Flo
Hallo Peter,
genau das habe ich gesucht.
Kannst du mir noch sagen was das _48 bewirkt.
Danke!

AW: Suchfenster über VBA
15.04.2014 10:52:39
Peter
Hallo Flo,
die 48 erzeugt in der Message-Box das Ausrufungszeichen vor dem Text.
Gruß Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige