Microsoft Excel

Herbers Excel/VBA-Archiv

suche über alle Blätter

Betrifft: suche über alle Blätter von: Peter
Geschrieben am: 27.08.2004 09:31:40

Hallo Excels,
suche einen kleinen VBA-Schnipsel der folgendes können soll.
Ich möchte in einem extra Blatt in A1 einen Suchbegriff eingeben(8Stellige Zahl).
Ab Zeile2 sollen dann die kompletten Zeilen, aus allen Blättern in denen der Suchbegriff vorkommt, aufgelistet werden.
Der Suchbegriff kommt immer nur in SpalteG vor.
Ich habe schon das Forum und das Archiv abgegrast aber leider nichts passendes gefunden.
Wäre toll wenn jemand helfen könnte.

Gruss Peter

  


Betrifft: AW: suche über alle Blätter von: Udo
Geschrieben am: 27.08.2004 09:59:00

In der Recherche sind 'zig Treffer zum Thema.

Udo


  


Betrifft: AW: suche über alle Blätter von: Peter
Geschrieben am: 27.08.2004 10:05:31

Hi Udo,
dass schon aber nicht wie ich alle gefundenen zeilen auf ein Blatt kopieren kann.

aber trotzdem Danke das du geantwortet hast.
gruss peter


  


Betrifft: AW: suche über alle Blätter von: K.Rola
Geschrieben am: 27.08.2004 10:25:48

Hallo,

lad mal eine vorbereitete Beispieldatei hoch. Es sollte auch klar erkennbar sein,
wo der Suchbegriff eingegeben werden soll.
Ich bastle dir die Funktion dann da rein.

Gruß K.Rola


  


Betrifft: AW: suche über alle Blätter von: Peter
Geschrieben am: 27.08.2004 11:01:57

Hi K.Rola,
danke für das super Angebot.
Leider kann ich aus irgendwelchen Gründen die Datei nicht auf den Server stellen.
Erhalte immer diese Fehlermeldung:

Fehler beim Datei-UpLoad; Kein Upload möglich
Gruss Peter


  


Betrifft: AW: suche über alle Blätter von: Ingo
Geschrieben am: 27.08.2004 11:01:41

Sub finden_und_auflisten()

Dim ws As Worksheet
Dim rng As Range
Dim str As String, ersterstr As String
Dim suchbegriff
suchbegriff = Sheets("Tabelle1").[A1]
For Each ws In ThisWorkbook.Sheets
    With ws.Range("G:G")
        Set rng = .Find(suchbegriff, LookIn:=xlValues)
        If Not rng Is Nothing Then
            ersterstr = rng.Parent.Name & ";Zeile " & rng.Row
            Do While Not rng Is Nothing And str <> ersterstr
                Set rng = .FindNext(rng)
                str = rng.Parent.Name & ";Zeile " & rng.Row
                Sheets("Tabelle1").[A65536].End(xlUp).Offset(1, 0) = str
            Loop
        End If
    End With
Next ws

End Sub

mfG
Ingo Christiansen


  


Betrifft: AW: suche über alle Blätter von: Peter
Geschrieben am: 27.08.2004 11:26:34

Hi Ingo,
ersteinmal Danke.
Da habe ich erst einmal eine Richtung in der ich weiterfummeln kann.
Dein Makro findet zwar in allen Blättern den Suchbegriff, listet aber den Fundort auf.
Ich möchte aber das die gefundene Zeile kommplett kopiert wird.

gruss peter


  


Betrifft: AW: suche über alle Blätter von: Ingo
Geschrieben am: 27.08.2004 11:45:32

Sub finden_und_auflisten()

Dim ws As Worksheet
Dim rng As Range
Dim str As String, ersterstr As String
Dim zeile As Integer
Dim suchbegriff
suchbegriff = Sheets("Tabelle1").[A1]
zeile = 2
For Each ws In ThisWorkbook.Sheets
    With ws.Range("G:G")
        Set rng = .Find(suchbegriff, LookIn:=xlValues)
        If Not rng Is Nothing Then
            ersterstr = rng.Parent.Name & ";Zeile " & rng.Row
            Do While Not rng Is Nothing And str <> ersterstr
                Set rng = .FindNext(rng)
                str = rng.Parent.Name & ";Zeile " & rng.Row
                ws.Rows(rng.Row).Copy
                Sheets("Tabelle1").Select
                Cells(zeile, 1).Select
                ActiveSheet.Paste
                zeile = zeile + 1
            Loop
        End If
    End With
Next ws
Application.CutCopyMode = False
    
End Sub

mfG
Ingo Christiansen


  


Betrifft: AW: suche über alle Blätter von: Peter
Geschrieben am: 27.08.2004 11:54:13

Also, das ist ja Wahnsinn.
So schnell und so Gut.
besten Dank und schöne Grüsse
Peter