Clever-Excel-Forum

Normale Version: Mehrere Arbeitsblätter auswerten und in einer Liste zusammenfassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag Gemeinde,

ich habe folgendes Problem. Ich möchte diese Datei in allen drei Arbeitsblättern durchsuchen lassen nach den Adressen in Spalte D.

Wenn dort eine Adresse steht, soll er Mir dann die Werte aus allen drei Tabellen in einer neuen Arbeitsmappe unterenander auflisten, angefangen von Blatt 1 bis 3.

vllt habt ihr ja entwesder ne VBA oder eine einfache Formel für sowas.

Danke im vorraus

Datei hängt an
Hallo, 19 

Code:
Option Explicit
Public Sub Main()
    Dim wkbBook As Workbook
    Dim lngTMP As Long
    Application.ScreenUpdating = False
    Set wkbBook = Workbooks.Add
    For lngTMP = 1 To 3 'ThisWorkbook.Worksheets.Count
        With ThisWorkbook.Worksheets(lngTMP)
            Call FilterA(lngTMP)
            .UsedRange.AutoFilter Field:=3, Criteria1:="<>"
            Intersect(.UsedRange, .UsedRange.Offset(2)).SpecialCells(xlCellTypeVisible).Copy wkbBook.Worksheets(1).Range("A" & wkbBook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1)
        End With
        Call FilterA(lngTMP)
    Next lngTMP
    Set wkbBook = Nothing
    Application.ScreenUpdating = True
End Sub
Private Sub FilterA(lngIndex As Long)
    With ThisWorkbook.Worksheets(lngIndex)
        If .AutoFilterMode = True Then
            If .FilterMode = True Then
                .ShowAllData
            End If
        End If
    End With
End Sub
(20.08.2021, 09:53)Case schrieb: [ -> ]Hallo, 19 

Code:
Option Explicit
Public Sub Main()
    Dim wkbBook As Workbook
    Dim lngTMP As Long
    Application.ScreenUpdating = False
    Set wkbBook = Workbooks.Add
    For lngTMP = 1 To 3 'ThisWorkbook.Worksheets.Count
        With ThisWorkbook.Worksheets(lngTMP)
            Call FilterA(lngTMP)
            .UsedRange.AutoFilter Field:=3, Criteria1:="<>"
            Intersect(.UsedRange, .UsedRange.Offset(2)).SpecialCells(xlCellTypeVisible).Copy wkbBook.Worksheets(1).Range("A" & wkbBook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1)
        End With
        Call FilterA(lngTMP)
    Next lngTMP
    Set wkbBook = Nothing
    Application.ScreenUpdating = True
End Sub
Private Sub FilterA(lngIndex As Long)
    With ThisWorkbook.Worksheets(lngIndex)
        If .AutoFilterMode = True Then
            If .FilterMode = True Then
                .ShowAllData
            End If
        End If
    End With
End Sub

Halt mich für blöd aber, wo pack ich das ding denn nun genu hin und wie nutze ich es? Huh
Hallo, 19 



ich habe es in deine Beispieldatei gepackt und einen Button eingefügt. 21
[attachment=39859]
(20.08.2021, 11:32)Case schrieb: [ -> ]Hallo, 19 



ich habe es in deine Beispieldatei gepackt und einen Button eingefügt. 21

das ist soweit ganz cool aber wie ist das wenn sich meine daten aus den drei spalten mal ändern und ich das als datenvernüpfung nun automatisch in diese datei haben möchte?
Hallo, 19 

keine Ahnung. 21
(20.08.2021, 12:03)StaBau11 schrieb: [ -> ]...aber wie ist das wenn sich meine daten aus den drei spalten mal ändern und ich das als datenvernüpfung nun automatisch in diese datei haben möchte?

Hallo, 19 

aahhh... das naheliegendste ganz vergessen. PowerQuery aka Daten - Daten abrufen und transformieren. Damit geht es. Suche mal im Netz danach. 21