By Timotee we wtorek, 04 stycznia 2022 r
Opublikowany w przewyższać
Odpowiedzi 1
Lubi 0
odwiedzajacy 5.1 tysięcy
Głosów 0
Kochaj społeczność

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 (TYGODNIOWA DYSKUSJA) kopieren, wenn eine bestimmte Bedingung (Criteria) erfüllt ist.

Nun hab ich mit Makra 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. Więc hab ich”CopyToRange” im Code umgeschrieben. Bei nochmaligem updaten kann dann aber eine Fehlermeldung und es wurde nichts mehr angezeigt.

Czy ist meinem Code było fałszywe?
Wie bekomme ich bestimmte Zeilen aus mehreren Tabellenblättern in eine neue Übersichtstabelle? Alle Tabellenblätter sind in einer Excel-Datei (Szablon z obsługą makr).

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





Filtr podrzędny_TeamUpdate()
'
' Makro Filter_TeamUpdate
' 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


Arkusze("TYGODNIOWA DYSKUSJA"). Wybierz

Sheets("ANNA").Range("A1:H" & lngLastRowANNA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Arkusze("KRYTERIA").Range("A2:H" & lngLastRowANNA), CopyToRange:=Range("A1") _
, Unikat:=Fałsz

lngLastRow = Sheets("TYGODNIOWA DYSKUSJA").Cells(Rows.Count, 1).End(x1Up).Row

Sheets("JULIA").Range("A1:H" & lngLastRowJULIA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Arkusze("KRYTERIA").Range("A2:H" & lngLastRowJULIA), CopyToRange:=Range("A" & lngLastRow + 1) _
, Unikat:=Fałsz

lngLastRow = Sheets("TYGODNIOWA DYSKUSJA").Cells(Rows.Count, 1).End(x1Up).Row

Sheets("ANDREA").Range("A1:H" & lngLastRowANDREA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Arkusze("KRYTERIA").Range("A2:H" & lngLastRowANDREA), CopyToRange:=Range("A" & lngLastRow + 1) _
, Unikat:=Fałsz

lngLastRow = Sheets("TYGODNIOWA DYSKUSJA").Cells(Rows.Count, 1).End(x1Up).Row


End Sub
 
Cześć Timotee,

Przejrzeliśmy kod i naprawiliśmy kilka błędów w kodzie źródłowym, proszę spojrzeć:

Sub Filter_TeamUpdate()
'
' Filter_TeamUpdate Macro
' Timotee
'

lngLastRowANNA = Sheets("ANNA").Cells(Rows.Count, 1).End(xlUp).Row
lngLastRowJULIA = Sheets("JULIA").Cells(Rows.Count, 1).End(xlUp).Row
lngLastRowANDREA = Sheets("ANDREA").Cells(Rows.Count, 1).End(xlUp).Row
lngLastRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1

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(xlUp).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(xlUp).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(xlUp).Row


End Sub


Mam nadzieję, że to działa dla ciebie.

Amanda
·
2 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Wyświetl pełny post