By Timotei marți, 04 ianuarie 2022
postat în Excel
Răspunsuri 1
Preferințe 0
Vizualizări 5.1 K
Voturi 0
Comunitatea iubirii

Ich habe folgendes Anliegen und habe bereits mehrre Tutorials durchgeschaut. Doch leider klappt es immernoch nicht.
Ich hab 3 Tabellenblätter und möchte eine ganze Zeile in ein neues Tabellenblatt ( DISCUȚIE SĂPTĂMÂNALĂ) kopieren, wenn eine bestimmte Bedingung (Criterii) 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. Deci hab ich"CopyToRange" im Code umgeschrieben. Bei nochmaligem updaten kann dann aber eine Fehlermeldung und es wurde nichts mehr angezeigt.

A fost un cod meinem falsch?
Wie bekomme ich bestimmte Zeilen aus mehreren Tabellenblättern in eine neue Übersichtstabelle? Alle Tabellenblätter sind in einer Excel-Datei (Șablon activat pentru macro).

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





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


Foi de calcul(„Discuție săptămânală”).Selectați

Sheets(„ANNA”).Range(„A1:H” și lngLastRowANNA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets(„CRITERIAS”).Range(„A2:H” și lngLastRowANNA), CopyToRange:=Range("A1") _
, Unic:=fals

lngLastRow = Sheets(„Săptămânal DISCUȚIE”).Cells(Rows.Count, 1).End(x1Up).Row

Sheets(„JULIA”).Range(„A1:H” și lngLastRowJULIA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets(„CRITERIAS”).Range(„A2:H” și lngLastRowJULIA), CopyToRange:=Range(„A” și lngLastRow + 1) _
, Unic:=fals

lngLastRow = Sheets(„Săptămânal DISCUȚIE”).Cells(Rows.Count, 1).End(x1Up).Row

Sheets(„ANDREA”).Range(„A1:H” și lngLastRowANDREA).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets(„CRITERIAS”).Range(„A2:H” și lngLastRowANDREA), CopyToRange:=Range(„A” și lngLastRow + 1) _
, Unic:=fals

lngLastRow = Sheets(„Săptămânal DISCUȚIE”).Cells(Rows.Count, 1).End(x1Up).Row


End Sub
 
Bună Timotee,

Am analizat codul și am remediat unele erori în codul sursă, vă rugăm să aruncați o privire:

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


Sper că acest lucru funcționează pentru dvs.

Amanda
·
de ani în urmă 2
·
0 Îi place
·
0 Voturi
·
4 Comentarii
·
Vizualizați mesajul complet