2.1k Aufrufe
Gefragt in Tabellenkalkulation von ponscho Mitglied (323 Punkte)
Guten Morgen @all!

Ist es möglich per Makro einen Begriff bzw. Namen über mehrere Tabellenblätter zu suchen und die kompletten Zeilen untereinander mit dem gesuchten Begriff in einem extra angelegten Tabellenblatt "Ergebnis" auszugeben zum drucken?
Habe Excel 2002.
Die Namen der Tabellenblätter sind "Kirchenbücher", "Inschriften" und "Totenzettelchen".
Die Spalten in denen gesucht werden soll, sind unterschiedlich angeordnet.
Mal geht die zu dursuchende Spalte ab H7 los, dann mal ab B2 oder auch C4-D4.
Schön wäre auch eine Message-Box "Begriff eingeben" und "leider nichts gefunden"

Freundliche Grüsse
Mick

9 Antworten

0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Mick,
Code in ein Modul einfügen.
Gesucht wird der Begriff in allen Tabellen, außer der Tabelle "Drucken" die Du noch anlegen musst.
Es werden dann die ganzen Zeilen die den Suchbegriff enthalten in die Tabelle "Drucken" übertragen.

Gruß
fedjo

Option Explicit
Global SSearch As String
Sub Suchen()
Dim ws As Worksheet
Dim c
Dim firstAddress As String
Dim secAddress
Dim GFound As Boolean
Dim GWeiter As Boolean

GWeiter = False
GFound = False
anf:
SSearch = InputBox("Bitte Namen eingeben!")

If SSearch = "" Then
End
End If
weiter:
For Each ws In Worksheets
If ws.Name = "Drucken" Then Exit Sub
With ws.Cells
Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
GFound = True
c.EntireRow.Copy Sheets("Drucken").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
firstAddress = c.Address
Do
Set c = .FindNext(c)
secAddress = c.Address
If c.Address = firstAddress Then
Exit Do
End If
c.EntireRow.Copy Sheets("Drucken").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
GWeiter = True
GoTo ende
Loop While Not c Is Nothing And secAddress <> firstAddress And c.Address <> firstAddress
Else
GWeiter = True
GoTo ende
End If
End With
Next ws
ende:
If GFound = False Then
If MsgBox("Suchwert nicht gefunden ! Neue Suche ?", vbInformation + vbYesNo) = vbYes Then
GoTo anf:
End If
End If

End Sub
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo fedjo,

einen schönen restlichen Mai, auch allen anderen Usern!

Das Makro funktioniert super, nur hatte ich vergessen zu erwähnen, dass man evtl. einen Auszug eines Namens damit suchen sollte, zB.: Ich suche Müller, gebe aber als Suchbegriff "Müll" ein, egal ob gross oder klein geschrieben.

Argh.... und ich hatte mich bemüht meine Hilfeanfrage so genau wie möglich zu formulieren.
Jedesmal vergesse ich etwas!

Könntest Du mir es mit dem obigen Zusatz ändern?

Internette Grüsse
Mick
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Sorry, muss meinen obigen Beitrag revidieren. Es funktioniert auch mit meinem zuletzt geäusserten Wunsch, nur sucht er nicht über alle Tabellenblätter.
Habe die Fixierungen rausgenommen, alle Namen in Standard formatiert... was könnte ich noch falsch machen?

Internette Grüsse
Mick
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo fedjo,

ich möchte hier nicht den Anschein erwecken hier alles zuzuspamen, aber ich finde den Edit-Button nicht.

Mir ist aufgefallen, daß das Makro nur im ersten Tabellenblatt sucht, die ersten zwei Treffer kopiert und den Rest verschluckt.
Oder stell ich mich doof an?

Internette Grüsse
Mick
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Mick,
bei mir fuktioniert das Makro über alle Tabellen außer das Tabellenblatt "Drucken".

Du kannst ja mal eine Musterdatei hier einstellen:http://www.file-upload.net/ und den Link ins Forum stellen.

Gruß
fedjo
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo fedjo,

mach ich doch gerne, hier ist der dazugehörige Link
http://www.file-upload.net/download-4318632/Test-Mappe2.xls.html

Internette Grüsse
Mick
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Mick,
hab das Makro (STRG+ M) in deine Musterdatei eingefügt, vielleicht hilft es dir ja weiter.

Gruß
fedjo
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo @all, hallo fedjo,

vielen Dank! so geht es auch, muss halt meine Suche über die Eingabe genauer eingeben, sonst muss ich oft "ja" drücken.
Oder gibt es eine Möglichkeit das drücken des Return Knopfes zu automatisieren, bis die Suche abgeschlossen ist?

Internette Grüsse
Mick
...