Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
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

Daten in eine Achivtabelle einlesen

Daten in eine Achivtabelle einlesen
23.04.2013 10:22:38
Jochen
Hallo Excel-Freunde, ich mal wieder Eure Hilfe.
In einer Excel-Datei sind 2 Tabellenblätter ( Eingabe und Archiv ).
Im ersten Schritt möchte ich den Zeileninhalt der Zeilen die mit “Abgeschlossen am:“ gekennzeichnet sind in das Tabellenblatt “Archiv“ immer unter den letzten Eintrag kopiert werden, das können auch mehrere Zeilen gleichzeitig sein.
Im zweiten Schritt sollen nun die Einträge im Eingabeblatt gelöscht werden, wobei darauf zu achten ist, das in Spalte “B“ eine Formel hinterlegt ist die nicht gelöscht werden soll.
Dieser Vorgang soll nach Möglichkeit beim Schließen der Arbeitsmappe ausgeführt werden. Ich habe eine Test Datei angehängt.
Hat irgendjemand dafür eine Lösung?
Danke im Voraus

Die Datei https://www.herber.de/bbs/user/85004.xlsm wurde aus Datenschutzgründen gelöscht


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in eine Achivtabelle einlesen
23.04.2013 10:52:07
Klaus
Hi Jochen,
meine Lösung hier:

Die Datei https://www.herber.de/bbs/user/85007.xlsm wurde aus Datenschutzgründen gelöscht


um das "formatieren als Datum" usw in der Archivtabelle musst du dich nochmal selber kümmern.
Grüße,
Klaus M.vdT.

AW: Daten in eine Achivtabelle einlesen
23.04.2013 12:34:48
Jochen
Hallo Klaus,
danke für die schnelle Antwort. Noch eine Frage: Die Sortierfunktion klappt nicht, muß ich da noch irgendetwas berücksichtigen?
Danke schon mal im Voraus,
Gruß
Jochen

AW: Daten in eine Achivtabelle einlesen
23.04.2013 12:53:37
Klaus
Hi,
die Sortierfunktion klappt schon, so wie Excel eben sortiert.
In deinem Muster hast du (Auszug)
Test1
Test5
Test10
das sortiert Excel absoult korrekt in die Reihenfolge:
Test1
Test10
Test5
da ein String ja "von links nach rechts" gewertet wird, und die 1 aus "Test10" ist nunmal weniger mächtig als die 5 aus "Test5".
Die Frage ist ja, ob da überhaupt sortiert werden muss. Ich wollte die "archivierten" Zeilen halt nicht löschen, damit ich die Formel in B nicht mit Bezügen zerschieße. Vielleicht es es eleganter, auf das sortieren ganz zu verzichten.
Wenn du eine Zeile löscht, löst sich die Formel in B / die Formel(n) deiner Mastertabelle dann in #BEZUG auf? Wenn nicht, kann man auf das sortieren ganz verzichten und stattdessen die archivierten Zeilen ganz löschen (im Code: statt .clearcontents dann .delete shift:=xlup).
Grüße,
Klaus M.vdT.

Anzeige
Nachtrag: sortieren nach Spalte A?
23.04.2013 12:57:52
Klaus
Hallo,
vielleicht hilft es ja, wenn du nicht nach Spalte A sortierst. Ob du sortierbarere Spalten hast weiss ich nicht, da in meiner Musterdatei nur Test1 Test2 Test3 steht.
Im Code habe ich das bereits vorbereitet. Suche diese Zeile
iColSort = 1 'sortiere nach Spalte A (=1, B=2 usw)
und ändere sie zB auf
iColSort = 3
um nach Spalte C zu sortieren.
Grüße,
Klaus M.vdT.

AW: Daten in eine Achivtabelle einlesen
23.04.2013 12:56:40
Jochen
Hallo Klaus,
habe das Problem schon gefunden und behoben.
Danke noch einmal.
Jochen

Danke für die Rückmeldung! mit Text
23.04.2013 12:59:02
Klaus
Hi,
habe das Problem schon gefunden und behoben.
Jetzt bin ich aber neugierig: woran lags und wie wurde es behoben?
Grüße,
Klaus M.vdT.

Anzeige
AW: Danke für die Rückmeldung! mit Text
24.04.2013 06:45:38
Jochen
Guten Morgen Klaus,
habe folgende Filterfunktion aufgezeichnet:
Range("A2:J51").Select
ActiveWorkbook.Worksheets("Eingabe").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Eingabe").Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Eingabe").Sort
.SetRange Range("A2:J51")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
und diese dann hinter:
hell:
'Autofilter aus
wksIn.Cells.AutoFilter
kopiert.
Deine Sortierfunktion habe ich dann deaktiviert. Die Formel in Spalte B dadurch nicht geändert oder verfälscht.
Danke und einen schönen Tag.
Jochen

Anzeige
Vorschlag
24.04.2013 08:08:06
Klaus
Hallo Jochen,
ich begrüße es immer, wenn Leute sich selbst zu helfen wissen (der Makrorekorder ist dein Freund!), aber in diesem Fall möchte ich eine Verbesserung vorschlagen:
Range("A2:J51").Select
Wird in den allermeisten Fällen funktionieren, allerdings versagen sobald du mehr als 50 Einträge in der Liste hast (sprich: A2:J52 ansprechen müsstest).
Wenn du magst, stricke ich dir diese Funktion ins Makro, aber auf die reale Zeilenanzahl angepasst. Bei der Gelegenheit würde ich auch gleich das überflüssige "select" rausnehmen.
Grüße,
Klaus M.vdT.

Anzeige
AW: Vorschlag
24.04.2013 17:09:17
Jochen
Hallo Klaus,
das währe Klasse denn die Liste wird seeeeeeehr lang werden.
Gruß
Jochen

AW: Vorschlag
25.04.2013 08:16:14
Klaus
Hi,
ich hab gerade nochmal draufgeschaut, deine Sortierroutine entspricht exakt meiner. Das Problem ist also nicht der Code, sondern die Position - es muss erst der Autofilter ausgeschaltet werden, dann darf sortiert werden.
Ich habe das mal fix angefasst, upload anbei. Wenn du in den Code schaust, siehst du dass ich "nur" das Kommando "autofilter aus" vor die Sortierroutine geschrieben habe, und unter "hell:" den Autofilter abfrage und nur gegebenenfalls ausschalte.
https://www.herber.de/bbs/user/85043.xlsm
Grüße,
Klaus M.vdT.

Anzeige
AW: Vorschlag
25.04.2013 14:58:35
Jochen
Hallo Klaus,
jetzt ist alles i. o.
Danke und Tschüs
Jochen

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige