Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur Positionen Kopieren welche noch nicht vorhanden sind

Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 10:06:26
Tobias
Guten Morgen,
ich möchte Werte aus einer Tabelle kopieren und in einer anderen oben, überhalb der anderen Werte einfügen.
Das Tabellenblatt wo die Werte eingefügt werden dient als Archiv, da in derm anderen Tabellenblatt (Quelle) nur die letzten 31 Tage eingelesen sind. Außerdem kann es zu lücken in der Quelldatei kommen, da ein Tag vergessen wurde einzulesen.
Deswegen sollen alle Werte aus der PivotTabelle im Tabellenblatt "Überblick letzte 31 Tage", welche nicht in der Zieltabelle im Tabellenblatt "Archiv Ist|Soll" vorhanden sind, kopiert werden.
Beispieldatei:
https://www.herber.de/bbs/user/132740.xlsx
Ich hoffe Ihr könnt mir helfen.
Mit freundlichen Grüßen
Tobias Voss

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 10:35:08
Daniel
Hi
ich würde so vorgehen:
1. alle Zeilen aus der Quelle kopieren und unterhalb der Archivdaten als Wert einfügen
2. danach Duplikate Entfernen ausführen, mit der Datumsspalte als Kriterium
3. Archivliste absteigend sortieren
hilrreich wäre, wenn dein Archiv die gleichen Spalten und - Reihenfolgen hat wie die Quelle, weil du dann einfach ganze Zeilen kopieren kannst
die nicht benötigten Spalten kannst du dann ja ausblenden.
Gruß Daniel
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 13:16:42
Tobias
Das ist eine sehr gute Idee.
Hast du vielleicht den Code im die Duplikate zu löschen?
Bei dem von mir aufgezeichneten kommt danach immer wieder die Fehlermeldung: Anwendungs- oder objektorientierter Fehler.
Danke!
Gruß Tobias
Anzeige
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 13:38:06
Daniel
Hi
wie sieht denn dein aufgezeichneter Code aus?
das aufgezeichneter Code in der Regel noch überarbeitet werden muss ist dir bekannt?
(insbesondere die Anpassung an dynamsich wachstende Tabellen ist notwendig)
viel mehr als der Recorder kann ich dir auch nicht sagen. Ich würde halt mit ganzen Spalten als Zellbezug arbeiten:
Sheet("dein Sheetname").Range("A:X").Removeduplicates 1, xlyes
Gruß Daniel
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 14:38:12
Tobias
Ja das ist mir zum Glücl schon bekannt.
Das Duplikate entfernen funktioniert jetzt durch eine modifizierung doch.
Allerdings lassen sich die gefilterten Daten nicht löschen.
Alle 3 Versionen in dem Code funktionieren nicht richtig und ich bekomme immer Laufzeitfehler.
Verstehe nicht warum das löschen von gefilterten Spalten so ein Problem darstellt.
Mein Code sieht bisher so aus:
Sub Archiv_aktualisieren()
'Display bestätigungen ausschalten
Application.DisplayAlerts = False
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False
'Alle Daten aus PivotTabelle in "Überblick letzte 31 Tage" kopieren
Sheets("Überblick letzte 31 Tage").Select
Range("A4:I4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
'Einfügen in Archiv
Sheets("Archiv Ist|Soll").Select
Range("A3").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  _
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
'Gesamtergebnis rauslöschen
'   With ActiveSheet
'  .Range("A3").AutoFilter Field:=1, Criteria1:="Gesamtergebnis"
'  .Rows("1:3").EntireRow.Hidden = True
'  .UsedRange.SpecialCells(xlCellTypeVisible).Delete
'  .Rows("1:3").EntireRow.Hidden = False
'   End With
'With ActiveSheet
'    .Range("A3").AutoFilter Field:=1, Criteria1:="Gesamtergebnis"
'    .UsedRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
'    .ShowAllData
'End With
'With Range("A3") 'Filter, offset(to exclude headers) and delete visible rows
'    .AutoFilter Field:=1, Criteria1:="Gesamtergebnis"
'    .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
'End With
'Filter deaktivieren
ActiveSheet.ListObjects("Tabelle4").Range.AutoFilter Field:=1
'Duplikate entfernen
'ActiveSheet.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlYes
Range("Tabelle4[Datum]").Select
ActiveSheet.Range("A3").RemoveDuplicates Columns:=1, Header:= _
xlYes
'Nach Datum sortieren
ActiveWorkbook.Worksheets("Archiv Ist|Soll").ListObjects("Tabelle4").Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Archiv Ist|Soll").ListObjects("Tabelle4").Sort. _
SortFields.Add2 Key:=Range("Tabelle4[[#All],[Datum]]"), SortOn:= _
xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Archiv Ist|Soll").ListObjects("Tabelle4").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Auswahl aufheben
ActiveSheet.UsedRange.Cells(1, 1).Select
'Display bestätigungen ausschalten
Application.DisplayAlerts = True
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = True
ActiveSheet.UsedRange.Cells(1, 1).Select
End Sub

Anzeige
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 14:43:10
Daniel
HI
Solche Aktionen wie Sortieren, Daten einfügen, Duplikate Entfernen usw sollte man immer in ungefilterten Listen durchführen.
Excel versucht normalerweise, gefilterte Daten von der Bearbeitung auszunehmen und das kann in solchen Fällen zu Problemen führen, wenn dadurch uneindeutige Zustände entstehen können.
Gruß Daniel
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 15:13:22
Tobias
Ok
Danke auf jeden Fall für deine Hilfe.
Wie könnte ich denn stattdessen alle Zeilen löschen die "Gesamtergebnis" enthalten?
Gruß Tobias
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 15:23:40
Daniel
HI
in dem du nach den Zeilen filterst, die "Gesamtergebnis" enthalten und dann diese Zeilen löschst.
zum Löschen kannst du den Filter problemlos verwenden, du musst ihn halt nur ausschalten, wenn du einfügen, sortieren, oder Duplikate entfernen anwenden willst.
ich mach solche löschaktionen auch gerne so, dass ich "Gesamtergebnis" durch einen Wahrheitswert ersetze und dann die Zeilen lösche, die in der Spalte einen Wahrheitswert enthalten (man kann diese über SpecialCells bezw "Inhalte Auswählen - Konstanten - Wahrheitswerte" gezielt auswählen)
Gruß Daniel
Anzeige
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 15:39:17
Tobias
Das löschen funktioniert aber nicht wenn ich danach filter.
Habe ja in dem code die 3 optionien ausprobiert und bekomme jedes mal eine fehlermeldung.
Gruß Tobias
AW: Nur Positionen Kopieren welche noch nicht vorhanden sind
25.10.2019 16:20:20
Daniel
bitte Beispieldatei mit Daten und den von dir verwendeten Code.
sonst kann ich dazu nichts sagen.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige