Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
264to268
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
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchfunktion über msg Box

Suchfunktion über msg Box
05.06.2003 21:09:02
Andreas
Hallo Excelfreunde,
ich möchte eine Datenbank mit folgendem Makro, das ebenfalls aus diesem Forum ist, durchsuchen.Wie kann ich es ereichen das die Eingabebox nach finden der Übereinstimmung noch den letzten Suchbegriff anzeigt.
Falls es mehrere Übereinstimmungen gibt kann ich weitersuchen ohne den Suchbegriff neu einzugeben.

Sub Suchen()
Dim rngFind As Range
Dim strFind As String
strFind = InputBox("Geben Sie den Suchbegriff ein:", "Eingabe Materialdatenbank")
If strFind = "" Then Exit Sub
Set rngFind = Cells.Find(strFind, LookAt:=xlPart, LookIn:=xlFormulas)
If rngFind Is Nothing Then
Beep
MsgBox "Es wurde keine Übereinstimmung gefunden!"
Exit Sub
End If
rngFind.Select
End Sub

Vielen Dank im voraus

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

Betreff
Datum
Anwender
Anzeige
Re: Suchfunktion über msg Box
05.06.2003 21:52:47
Mike E.

Hallo,

schau dir doch mal den Beitrag von Nepumuk von 16:23 Uhr (05.06.03) an.
Das sollte auch dir helfen.

Viele Grüße
Mike



Re: Suchfunktion über msg Box
06.06.2003 20:17:36
Andreas

Hallo Mike,
der Beitrag hat mir sehr geholfen, Danke.
Das Problem ist nur wenn ich einen Suchbegriff eingebe der nicht vorhanden ist hängt sich das Makro auf und ich komme nur noch mit ESC raus.Wo liegt der Fehler??

Gruss Andreas

Public Sub suchen()
Dim Zelle As Range, Suchbegriff As String, Adresse As String, zaehler As Integer
Dim index As Integer, Feld() As String, Tabelle() As Integer, Zeile_Spalte() As String
Suchbegriff = InputBox("Suchbegriff eingeben", "Eingabe")
If Suchbegriff <> "" Then
For index = 1 To Worksheets.Count
With Sheets(index).Cells
Set Zelle = .Find(What:=Trim(Suchbegriff), LookAt:=xlPart)
If Not Zelle Is Nothing Then
Adresse = Zelle.Address
Do
zaehler = zaehler + 1
ReDim Preserve Feld(1 To zaehler)
ReDim Preserve Tabelle(1 To zaehler)
ReDim Preserve Zeile_Spalte(1 To zaehler)
Feld(zaehler) = Sheets(index).Name & " Spalte " & Zelle.Column & " Zeile " & Zelle.Row
Tabelle(zaehler) = index
Zeile_Spalte(zaehler) = Zelle.Address
Set Zelle = .FindNext(Zelle)
Loop While Not Zelle Is Nothing And Zelle.Address <> Adresse
End If
End With
Next
If zaehler = 0 Then MsgBox Suchbegriff & " wurde nicht gefunden", 64, "Information" _
Else If MsgBox(Suchbegriff & " wurde " & CStr(zaehler) & " mal gefunden." & vbNewLine & "Fundstellen anzeigen?", 68, "Information") = 7 Then Exit Sub
Do
For index = 1 To zaehler
Sheets(Tabelle(index)).Select
Range(Zeile_Spalte(index)).Select
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
If index < zaehler Then
If MsgBox(CStr(index) & ". Fundstelle von " & CStr(zaehler) & ": " & Feld(index) & vbNewLine & "Weitere anzeigen?", 68, "Information") = 7 Then Exit Sub
Else
If MsgBox(CStr(index) & ". Fundstelle von " & CStr(zaehler) & ": " & Feld(index) & vbNewLine & "Nochmal anzeigen?", 68, "Information") = 7 Then Exit Do
End If
Next
Loop
End If
End Sub


Anzeige
Re: Suchfunktion über msg Box
06.06.2003 22:29:15
Mike E.

Hallo Andreas,

ich würde da eine Fehlerbehandlungsroutine einbauen (hierzu solltest du bewusst nach einem nicht vorhandenen Wert suchen und dir -sofern sie kommt- die Fehlernummer merken). Dann an den Anfang des Codes:

On Error GoTo FehlerBehandlung

Am Ende des Codes:

Fehlerbehandlung:
If ErrNumber = ???? Then MsgBox ("Wert nicht gefunden!"):Exit Sub

End Sub

gruß
Mike

Re: Suchfunktion über msg Box
07.06.2003 08:50:46
Andreas

Hallo Mike,
es kommt aber leider keine Fehlernummer.Christian hat eine Änderung im Makrocode vorgenommen und jetzt läuft es.
Trotzdem vielen Dank, Ihr seid KLASSE.

Gruss Andreas

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige