Anzeige
Archiv - Navigation
656to660
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
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchen in gesamter Arbeitsmappe

Suchen in gesamter Arbeitsmappe
25.08.2005 12:13:04
Timo
Hallo liebe Excel- Cracks,
ich habe folgende (zu mindest für mich) Herausforderung zu lösen:
Ich möchte in einer Excel-Datei mit 5 Datenblättern (a,b,c,d,e) eine Suchfunktion einbauen. Die Suchfunktion soll in jedem Blatt alle Zellen durchleuchten und jeweils bei Erfolg anzeigen. Nach Anzeige der Zelle soll die Abfrage starten ob weitergesucht werden soll. Falls nichts gefunden wird soll die Anzeige "'Suchbegriff' nicht gefunden" ausgespuckt werden.
Diese Suchfunktion soll per Knopfdruck starten und befindet sich auf dem ersten Datenblatt (a). Für die Abfrage habe ich ein Makro geschrieben/ gebastelt, komme jetzt aber nicht mehr weiter (Fehlermeldung: Fehler beim Kompilieren - IF Block ohne END-IF)
Anbei mein bisher vollbrachtes Werk:

Sub Suchen()
Dim Eingabe As String
Dim Feld As Range
Dim Gefunden As Boolean
Dim Antwort As Long
[A1].Select
Eingabe = Application.InputBox("Bitte Suchbegriff eingeben", "Suche", "Suchbegriff")
If Eingabe <> "" Then
For Each Feld In ActiveSheet.UsedRange
If InStr(UCase(CStr(Feld.Value)), UCase(Eingabe)) > 0 Then
Gefunden = True
Feld.Select
Antwort = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
If Antwort = vbNo Then
Exit For
End If
End If
Next Feld
If Gefunden = False Then
For Each Feld In sheets("b").UsedRange
If InStr(UCase(CStr(Feld.Value)), UCase(Eingabe)) > 0 Then
Gefunden = True
Feld.Select
Antwort = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
If Antwort = vbNo Then
Exit For
End If
End If
Next Feld
If Gefunden = False Then
For Each Feld In sheets("c").UsedRange
If InStr(UCase(CStr(Feld.Value)), UCase(Eingabe)) > 0 Then
Gefunden = True
Feld.Select
Antwort = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
If Antwort = vbNo Then
Exit For
End If
End If
Next Feld
If Gefunden = False Then
For Each Feld In sheets("d").UsedRange
If InStr(UCase(CStr(Feld.Value)), UCase(Eingabe)) > 0 Then
Gefunden = True
Feld.Select
Antwort = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
If Antwort = vbNo Then
Exit For
End If
End If
Next Feld
If Gefunden = False Then
For Each Feld In sheets("e").UsedRange
If InStr(UCase(CStr(Feld.Value)), UCase(Eingabe)) > 0 Then
Gefunden = True
Feld.Select
Antwort = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
If Antwort = vbNo Then
Exit For
End If
End If
Next Feld
If Gefunden = False Then
MsgBox "'" & Eingabe & "' nicht gefunden!", vbInformation
End If
End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen in gesamter Arbeitsmappe
25.08.2005 13:17:20
Heiko
Hallo Timo,
dein Code war mir ein wenig zu unübersichtlich, du solltest dir auf jeden Fall angewöhnen bei Schleifen If Anweisungen usw. den Code einzurücken, damit findet man sicherlich schneller den Fehler. Aber so gehts auch.

Sub Suchen()
Dim booGefunden As Boolean
Dim strEingabe As String
Dim rngFeld As Range
Dim wksSheet As Worksheet
strEingabe = Application.InputBox("Bitte Suchbegriff eingeben", "Suche", "Suchbegriff")
If strEingabe <> "" Then
For Each wksSheet In ActiveWorkbook.Worksheets
For Each rngFeld In wksSheet.UsedRange
If InStr(UCase(CStr(rngFeld.Value)), UCase(strEingabe)) > 0 Then
booGefunden = True
wksSheet.Activate
rngFeld.Select
If MsgBox("Weitersuchen?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
End If
Next rngFeld
Next wksSheet
If booGefunden = False Then MsgBox "'" & strEingabe & "' nicht gefunden!", vbInformation
End If
End Sub


Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Suchen in gesamter Arbeitsmappe
25.08.2005 16:08:08
Timo
Hallo Heiko,
ich kann's kaum glauben. Genau so wollte ich den Code bzw. das Makro haben!!!
Vielen vielen Dank für deine schnelle und super-kompetente Hilfe. Und den Tipp mit dem Code einrücken werde ich mir merken.
Viele Grüße,
Timo
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge