timotee
Goto Top

Bestimmte Zeilen in anderes Tabellenblatt kopieren VBA

Liebe Community

ich habe folgendes Anliegen und habe bereits mehrere Tutorials durchgeschaut. Doch leider klappt es immernoch nicht.
Ich hab 3 Tabellenblätter und möchte eine ganze Zeile in ein neues Tabellenblatt kopieren, wenn eine bestimmte Bedingung ("Team discussion") ausgewählt bzw. erfüllt ist.
Kommentar vom Moderator Dani am Jan 04, 2022 um 13:03:06 Uhr
Beitrag verschoben.

Content-Key: 1688600552

Url: https://administrator.de/contentid/1688600552

Printed on: April 19, 2024 at 17:04 o'clock

Mitglied: 149569
149569 Jan 04, 2022 updated at 12:53:28 (UTC)
Goto Top
Bsp.
Sub CopyRow()
    dim cell as range
    With Sheets(1)
        for each cell in .Range("A2:A" & .Cells(Rows.Count,"A").End(xlUp).Row)  
             if cell.Value = "Team discussion" then  
                  cell.EntireRow.Copy Destination:=Sheets(4).Cells(Rows.Count,"A").End(xlUp).Offset(1,0)  
             end if
        next
    End with 
End Sub
Handbuch wie immer hier zum Nachlesen
https://docs.microsoft.com/de-de/office/vba/api/overview/excel/object-mo ...

Btw. Kategorie Apple??
Member: Timotee
Timotee Jan 04, 2022 updated at 13:55:56 (UTC)
Goto Top
Hier ist leider nur die Hälfte meines Beitrags zu sehen face-smile

Hier die Kkomplette Anfrage nochmal. Ich bin leider neu und weiss nicht wieso nur die Hälfte angekommen ist.

Liebe Community

ich habe folgendes Anliegen und habe bereits mehrere Tutorials durchgeschaut. Doch leider klappt es immernoch nicht.
Ich hab 3 Tabellenblätter und möchte eine ganze Zeile in ein neues Tabellenblatt ( WEEKLY DISCUSSION) kopieren, wenn eine bestimmte Bedingung (Criteria) erfüllt ist.

Nun hab ich mit Macros gearbeitet und folgenden Code erstellt.
Zunächst wurde nur die Information aus einem Tabellenblatt angezeigt, obwohl mein Code alle 3 Tabellenblätter anzeigt. Dann habe ich gedacht, dass ich ja die letzte Zeile nicht immer als A1 bezeichnen kann, weil die Informationen immer überschreiben werden. So hab ich "CopyToRange" im Code umgeschrieben. Bei nochmaligem updaten kann dann aber eine Fehlermeldung und es wurde nichts mehr angezeigt.

Was ist an meinem Code falsch?
Wie bekomme ich bestimmte Zeilen aus mehreren Tabellenblättern in eine neue Übersichtstabelle? Alle Tabellenblätter sind in einer Excel-Datei (Macro-Enabled Template).

Ich wäre sehr froh, wenn hier jemand helfen kann.
Herzlichen Dank im Vorfeld.
Timotee


Sub Filter_TeamUpdate()
'
' Filter_TeamUpdate Macro
' Timotee
'
lngLastRowANNA = Sheets("ANNA").Cells(Rows.Count, 1).End(x1Up).Row
lngLastRowJULIA = Sheets("JULIA").Cells(Rows.Count, 1).End(x1Up).Row
lngLastRowANDREA = Sheets("ANDREA").Cells(Rows.Count, 1).End(x1Up).Row
lngLastRow = ActiveSheet.UsedRage.Row(ActiveSheet.UsedRage.Rows.Count).Row


Sheets("WEEKLY DISCUSSION").Select

Sheets("ANNA").Range("A1:H" & lngLastRowANNA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("CRITERIAS").Range("A2:H" & lngLastRowANNA), CopyToRange:=Range("A1") _
, Unique:=False

lngLastRow = Sheets("WEEKLY DISCUSSION").Cells(Rows.Count, 1).End(x1Up).Row

Sheets("JULIA").Range("A1:H" & lngLastRowJULIA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("CRITERIAS").Range("A2:H" & lngLastRowJULIA), CopyToRange:=Range("A" & lngLastRow + 1) _
, Unique:=False

lngLastRow = Sheets("WEEKLY DISCUSSION").Cells(Rows.Count, 1).End(x1Up).Row

Sheets("ANDREA").Range("A1:H" & lngLastRowANDREA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("CRITERIAS").Range("A2:H" & lngLastRowANDREA), CopyToRange:=Range("A" & lngLastRow + 1) _
, Unique:=False

lngLastRow = Sheets("WEEKLY DISCUSSION").Cells(Rows.Count, 1).End(x1Up).Row


End Sub