Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
640to644
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
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblätter automatisch zusammenkopieren

Tabellenblätter automatisch zusammenkopieren
21.07.2005 08:45:54
Thomas
Hab zwar überall im Netz, in Büchern und im Forum gesucht aber bis dato noch keine Antwort gefunden.
Ich hab folgendes Problem. Ich versende Mailinglisten an Kundenbetreuer und muss sie nach der Korrektur wieder zusammenkopieren in eine Tabelle um dann Briefe mit dem Serienbrief Assistenten im Word zu versenden. Es handelt sich hierbei um zwischen 1000 und 5000 Datensätze, manchmal auch mehr.
Die Tabellen sehen wie folgt aus:
Ich hab Spalten die
Kundennummer - Vorname - Zuname - Straße - PLZ - Ort - Kostenstellen usw.
enthalten. Unter dieser Überschrift befinden sich die Daten der Kunden (jeder Kunde kommt nur einmal vor).
Ich hab mittlerweile ein Makro gefunden, mit dessen Hilfe ich die Gesamtliste nach einem Kriterium automatisch zerteilen kann. In meinem Fall ist das immer die Kostenstelle. Wir haben bei uns im Betrieb je nach Mailing zwischen 9 - 15 Kostenstellen; die Dateien heißen dann KST00, KST03, usw. (liegen alle in einem Ordner).
Hab mittlerweile auch ein Makro gefunden um die einzelnen Arbeitsmappen (einzelnen Dokumente) wieder zusammenzufügen. Es werden hierbei alle Tabellenblätter von allen Arbeitsmappen in eine neue Arbeitsmappe hineinkopiert (zusammenkopiert).
So nun zu meinem Problem oder besser wo ich nicht mehr weiter weiß. Ich möchte nun wieder eine Gesamtliste haben. D.h. Excel soll das kopieren aus den einzelnen Dokumenten oder Tabellenblättern in eine Gesamtliste automatisch machen. Ich weiß zwar dass es möglich ist Verknüpfungen zu erstellen allerdings hilft mir das nicht viel da ich für jedes Mailing eine neue Gesamtliste erhalte.
Da ich schon in einem anderem Forum gepostet habe stelle ichs noch mit einem Bsp. dar, damit man sich auskennt:
Beispiel:
KST00.xls enthält
KST Kdnr. Vorname Zuname ...
00 22 Thomas Maier
00 28 Marta Ulmer
00 45 Dagmar Breiter
KST03.xls enthält
KST Kdnr. Vorname Zuname
03 10 Herbert Tisch
03 98 Olga Dabor
KSTGesamt.xls soll wie folgt aussehen:
KST Kdnr. Vorname Zuname ...
00 22 Thomas Maier
00 28 Marta Ulmer
00 45 Dagmar Breiter
03 10 Herbert Tisch
03 98 Olga Dabor
Hoffe irgendwer weiß rat, da mir das Kopieren und Einfügen bei der Menge an Datensätzen am Geist geht; und ehrlich gesagt hab ich nicht vor programmieren zu lernen.
Danke im Voraus.
LG Thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter automatisch zusammenkopieren
21.07.2005 09:42:31
Thomas

Sub zusammenfassen()
Dim Zeile!, letzteZ!
'Auswertungsblatt einfügen
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Zusammenfassung"
'Variable, die dafür sorgt, daß die zusammen-
'gefaßten Daten untereinander stehen
'hier ab Zeile 1
Zeile = 1
'Von Blatt 1 bis Blatt 10 zusammenfassen
For i = 1 To 10
Worksheets(i).Select
'Beliebige Zelle in der Datenbank in Spalte A auswählen
[A3].Select
letzteZ = Cells(Rows.Count, 1).End(xlUp).Rows.Row
'Datenbereich (hier bis Spalte 12) auswählen
Range(Cells(1, 1), Cells(letzteZ, 12)).Select
'Kopieren
Selection.Copy
'Auswertungsblatt auswählen
Sheets("Zusammenfassung").Select
'Zielzelle auswählen
Cells(Zeile, 1).Select
'Einfügen
ActiveSheet.Paste
'Variable Zeile erhöhen
Zeile = Zeile + letzteZ
Next
End Sub

Habs sozusagen durch Zufall selbst gefunden. Und will all die anderen nicht dumm sterben lassen, die ähnliches Suchen.
Einziges Problem das ich noch mit dem Makro habe ist, das es mir die Überschrift aus jeder Tabelle mitkopiert. Aber damit kann ich ohneweiters leben. Aber vielleicht weiß es ja wer.
Sollte irgendwer die Makros zum Teilen bzw. zusammenfügen in eine Mappe brauchen stelle ich sie gerne zur Verfügung.
LG Thomas
Anzeige
AW: Tabellenblätter automatisch zusammenkopieren
21.07.2005 10:02:39
Heinz
Hallo Thomas,
ich habe aus dem Code den Mist entfernt (Select!) und nun siehst du, welcher Bereich kopiert wird. (A2:L + LetzteZeile).
Tabellen 2 bis 11, da die Zusammenfassung am Anfang eingefügt wird.
Statt der Zahl 11 kannst du auch Worksheets.Count nehmen, d.h. es werden alle Tabellen durchlaufen mit Ausbnahme der Nummer 1.

Sub zusammenfassen()
Dim Zeile&, letzteZ&
'Auswertungsblatt einfügen
Worksheets.Add.Name = "Zusammenfassung"
ActiveSheet.Move Before:=Worksheets(1)
'Von Blatt 1 bis Blatt 10 zusammenfassen
For i = 2 To 11
With Worksheets(i)
letzteZ = .Cells(Rows.Count, 1).End(xlUp).Row
Zeile = Worksheets("Zusammenfassung").Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range("A2:L" & letzteZ).Copy Worksheets("Zusammenfassung").Range("A" & Zeile)
End With
Next
End Sub

Gruß
Heinz
Anzeige
AW: Tabellenblätter automatisch zusammenkopieren
21.07.2005 10:19:58
Thomas
Danke funktioniert einwandfrei. Nehm Worksheets.Count ist dann wirklich noch einfacher.
Vielen vielen Dank. Dadurch erspar ich mir sicher eine Stunde Arbeit.
LG Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige