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

Begriffe in Arbeitsmappe suchen VBA

Begriffe in Arbeitsmappe suchen VBA
17.03.2004 13:43:58
Wolfgang
Hallo*
hatte mich heute morgen im Bereich Excel-Recherche getummelt und untenstehenden Code entdeckt.- Hierüber soll die Suche nach beliebigen Begriffen in einer Arbeitsmappe laufen.- Funktioniert auch eigentlich so. - Nur, wenn z.B. in der Suchmaske kein Begriff eingegeben ist, kommt nicht die eigentlich vorgesehene Fehlermeldung. Stattdessen erscheint MsgBox Weiter?(Die erscheint ja eigentlich nur dann, wenn ein Begriff gefunden wurde); Der Verfasser, dessen Namen ich mir leider nicht gemerkt habe, hatte seinerzeit wohl diesen Code im Forum veröffentlicht und die Frage gestellt, was umgestellt werden muss, damit sämtliche Tabellenblätter durchsucht werden, nur ein bestimmtes nicht. In meinem Fall heißt das Blatt "Start" - Hat jemand eine Idee bzw. kann sich jemand die kleinen o.a. Fehler erklären? -
Schon jetzt herzlichen Dank für Eure Unterstützung.
Gruß - Wolfgang Berger
Hier der Code:

Sub suchen()
Dim Tabelle As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff
Dim blatt
blatt = Application.ActiveSheet.Name
SBegriff = "*" & InputBox("Bitte Suchbegriff eingeben:", "Suchen nach Begriffen/Silben:")
'**********Abbbruch*******
If SBegriff = False Then
MsgBox "Eingabe wurde abgebrochen!"
ThisWorkbook.Sheets(blatt).Activate
Exit Sub
End If
If SBegriff = "**" Then
MsgBox "Es wurde nichts eingeschrieben oder abgebrochen!"
Exit Sub
End If
'*********Abbruch ende*****
For Each Tabelle In Worksheets
Tabelle.Activate
Set GZelle = Tabelle.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
If MsgBox("Weiter?", vbYesNo + vbQuestion,) = vbNo Then Exit Sub
Set GZelle = Cells.FindNext(After:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Tabelle
ThisWorkbook.Sheets(blatt).Activate
MsgBox "Nichts mehr gefunden - Ende !"
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Begriffe in Arbeitsmappe suchen VBA
17.03.2004 13:57:35
Hajo_Zi
Hallo Wlfgang
wenn es nur um eine Tabelle geht, warum nicht Strg+F ??

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


AW: Begriffe in Arbeitsmappe suchen VBA
17.03.2004 14:29:49
geri
Hallo Wolfgang
es hatte noch einen Fehler in letzter Zeile des Codes
und oben habe ich angepasst
blatt = Application.ActiveSheet.Name
SBegriff = " " & InputBox("Bitte Suchbegriff eingeben:", "Suchen nach Begriffen/Silben:")
'**********Abbbruch*******
If SBegriff = " " Then
MsgBox "Eingabe wurde abgebrochen!"
ThisWorkbook.Sheets(blatt).Activate
Exit Sub
End If
If SBegriff = "**" Then
MsgBox "Es wurde nichts eingeschrieben oder abgebrochen!"
Exit Sub
End If
'*********Abbruch ende*****
For Each Tabelle In Worksheets
Tabelle.Activate
Set GZelle = Tabelle.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
If MsgBox("Weiter?", vbYesNo + vbQuestion) = vbNo Then Exit Sub ' hier Kommafehler

du könntest das Blatt welches nicht durchsucht werden soll am Anfang
ausblenden und wenn fertig wieder einblenden
gruss geri
Anzeige
AW: Begriffe in Arbeitsmappe suchen VBA
17.03.2004 15:49:52
Wolfgang
Hallo geri,
Hallo Hajo,
Danke für die Rückmeldungen und Hinweise; Fehler sind behoben (ist mir ja fast peinlich - hätte ich eigentlich auch drauf kommen können - hatte alles so "herüberkopiert"); Mit der Mappe sollen noch andere KollegInnen arbeiten, die das mit Strg+F nicht kennen.- Ich schaue noch einmal in die Rechereche, weil sich da eine Rückantwort befindet, die aber bei mir nicht rennt.- Melde mich dann noch erneut.
Nochmals herzlichen Dank.
Gruß - Wolfgang Berger
hab's gefunden, somit erledigt.- Danke
17.03.2004 16:19:32
Wolfgang
Hallo*
unter Bezug auf meine Vornachricht. - Habe in Rechereche noch die Fragestellung und auch die Antwort wiedergefunden. Gleichzeitig konnte ich auch den Fehler entdecken, warum es bei mir zunächst lief. Läuft jetzt (hatte einmal End If vergessen, so dass die Fehlermeldung Next ohne For kam. - Läuft jetzt prima.
Danke noch allen, die sich erneut meines Problems angenommen habe.
Gruß - Wolfgang Berger
Hier die gefundene Ergänzung, um Tabellen von der Suche auszuschließen:
For Each Tabelle In Worksheets
If Tabelle.Name <> "Test" Then
Tabelle.Activate
Set GZelle = Tabelle.Cells.Find(SBegriff)
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige