Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
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
Suchen und finden
09.10.2012 12:54:34
Heidi
Hallo zusammen,
ich habe ein Makro, welches mir bestimmte Wörter in Tabellenblättern sucht und in einem extra Tabellenblatt auflistet. Leider bekomme ich es nicht hin, nach mehreren Begriffen gleichzeitig zu suchen.
Suche zum Beispiel: Haus;Garten;Hof
Vielleicht kann mir einer helfen.
Vielen lieben Dank!
Sub SearchAllSheets()
Dim intI As Integer
Dim shBlatt As Worksheet
Dim rngErgebnis As Range
Dim strAdresse As String
Dim strSuchbegriff As String
strSuchbegriff = InputBox("Geben Sie den Suchbegriff ein! / Enter the search string", strInfo)
If strSuchbegriff = "" Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
intI = 1
For Each shBlatt In Worksheets
If shBlatt.Name = "Ergebnisse" Then shBlatt.Delete
Next
Sheets.Add After:=Worksheets(Worksheets.Count), _
Type:=xlWorksheet
Worksheets(Worksheets.Count).Name = "Ergebnisse"
For Each shBlatt In ActiveWorkbook.Worksheets
shBlatt.Activate
Set rngErgebnis = shBlatt.UsedRange.Find(What:=strSuchbegriff, _
LookIn:=xlValues, LookAt:=xlPart)
If Not rngErgebnis Is Nothing Then
strAdresse = rngErgebnis.Address
Do
rngErgebnis.Activate
With Worksheets("Ergebnisse")
.Hyperlinks.Add _
Anchor:=.Range("A" & intI), _
Address:="", _
SubAddress:="'" & shBlatt.Name & "'!" & _
rngErgebnis.AddressLocal
End With
intI = intI + 1
Set rngErgebnis = Cells.FindNext(After:=ActiveCell)
If strAdresse = rngErgebnis.Address Then Exit Do
Loop
End If
Next shBlatt
If intI = 1 Then
MsgBox "Keine Werte gefunden! / No match found", vbExclamation, strInfo
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Worksheets("Ergebnisse").Activate
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Suchen und finden
09.10.2012 13:28:06
Rudi
Hallo,
teste mal:
Sub SearchAllSheets()
Dim intI As Integer
Dim shBlatt As Worksheet
Dim rngErgebnis As Range
Dim strAdresse As String
Dim strSuchbegriff As String
Dim vntSuch, iSuch As Integer
strSuchbegriff = InputBox("Geben Sie den Suchbegriff ein! / Enter the search string", strInfo) _
If strSuchbegriff = "" Then Exit Sub
vntSuch = Split(strSuchbegriff, ";")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
intI = 1
For Each shBlatt In Worksheets
If shBlatt.Name = "Ergebnisse" Then shBlatt.Delete
Next
Sheets.Add After:=Worksheets(Worksheets.Count), _
Type:=xlWorksheet
Worksheets(Worksheets.Count).Name = "Ergebnisse"
For Each shBlatt In ActiveWorkbook.Worksheets
strAdresse = ""
For iSuch = LBound(vntSuch) To UBound(vntSuch)
Set rngErgebnis = shBlatt.UsedRange.Find(What:=Trim(vntSuch(iSuch)), _
LookIn:=xlValues, LookAt:=xlPart)
If Not rngErgebnis Is Nothing Then
strAdresse = rngErgebnis.Address
Do
With Worksheets("Ergebnisse")
.Hyperlinks.Add _
Anchor:=.Range("A" & intI), _
Address:="", _
SubAddress:="'" & shBlatt.Name & "'!" & _
rngErgebnis.AddressLocal
End With
intI = intI + 1
Set rngErgebnis = Cells.FindNext(After:=ActiveCell)
Loop Until rngErgebnis.Address = strAdresse
End If
Next iSuch
Next shBlatt
If intI = 1 Then
MsgBox "Keine Werte gefunden! / No match found", vbExclamation, strInfo
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Worksheets("Ergebnisse").Activate
End Sub

Suchbegriffe mit ; getrennt eingeben.
Gruß
Rudi

Anzeige
AW: Suchen und finden
09.10.2012 13:35:36
Heidi
Hallo Rudi,
klappt leider nicht - es kommt eine Fehlermeldung :-(
Hast du evtl. noch eine andere Idee?
Dankeschön!

AW: Suchen und finden
09.10.2012 13:33:53
mäxl
Hi
Option Explicit
Sub SearchAllSheets()
Dim intI As Long, strInfo, ArrSearch, intC As Integer, i As Integer
Dim shBlatt As Worksheet
Dim rngErgebnis As Range
Dim strAdresse As String
Dim strSuchbegriff As String
'Suchbegriffe durch ; (Strichpunkt getrennt eingeben!)
strSuchbegriff = InputBox("Geben Sie den Suchbegriff ein! / Enter the search string", strInfo)
If strSuchbegriff = "" Then Exit Sub
ArrSearch = Split(strSuchbegriff, ";")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
intI = 1
For Each shBlatt In Worksheets
If shBlatt.Name = "Ergebnisse" Then shBlatt.Delete
Next
Sheets.Add After:=Worksheets(Worksheets.Count), _
Type:=xlWorksheet
Worksheets(Worksheets.Count).Name = "Ergebnisse"
For intC = 0 To UBound(ArrSearch)
For i = 1 To Sheets.Count - 1
Set rngErgebnis = Sheets(i).UsedRange.Find(What:=Trim(ArrSearch(intC)), _
LookIn:=xlValues, LookAt:=xlPart)
If Not rngErgebnis Is Nothing Then
strAdresse = rngErgebnis.Address
Do
With Worksheets("Ergebnisse")
.Hyperlinks.Add _
Anchor:=.Range("A" & intI), _
Address:="", _
SubAddress:="'" & Sheets(i).Name & "'!" & _
rngErgebnis.AddressLocal, TextToDisplay:="'" & Sheets(i).Name & "'!" & _
rngErgebnis.AddressLocal & " Wert: " & ArrSearch(intC)
End With
intI = intI + 1
Set rngErgebnis = Sheets(i).UsedRange.FindNext(After:=ActiveCell)
If strAdresse = rngErgebnis.Address Then Exit Do
Loop
End If
Next
Next
If intI = 1 Then
MsgBox "Keine Werte gefunden! / No match found", vbExclamation, strInfo
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Worksheets("Ergebnisse").Activate
End Sub

Anzeige
AW: Suchen und finden
09.10.2012 13:40:28
Heidi
Hallo,
klappt super, vielen DANK!

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige