Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopieren von Werten

Forumthread: Kopieren von Werten

Kopieren von Werten
07.05.2007 15:44:00
Werten
Hallo zusammen,
ich habe folgendes Automatisierungsproblem:
Ich habe ein Excelfile mit ca. 50 Tabellenblättern, die ich wöchentlich in ein anderes Excelfile kopieren möchte.
Die Ursprungsfiles fangen immer an der selben Stelle an, haben immer die Selbe Anzahl an Spalten, aber variierende Zeilenanzahlen. Meine Frage:
Wie sieht ein Makro aus, welches zuerst immer die Zeilenanzahl ausliest, die Gesamten Spalten und Zeilen markiert und dann in ein korrespondierendes Excelblatt kopiert?
Jetzt noch die Advanced Aufgabe ;-) :
Im Zielfile befinden sich in den Tabellenblättern Formeln, die je nach Länge der Ursprungstabellen angepasst werden müssen. (...ich würde es gerne vermeiden einfach die Formel bis zur 65000 Zeile runter zu kopieren, da dies glaube ich immense Auswirkungen auf die Größe der Datei hat...oder irre ich mich da?)
...das ist aber wirklich nur ein Gimmick...
Hoffe ich habe mich deutlich ausgedrückt und schon einmal Danke für eine Antwort!
Grüße
Christian

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren von Werten
09.05.2007 03:44:00
Werten
Hallo Christian,
folgendes Grundgerüst sollte weiterhelfen. ggf. müßte noch eine Prüfung eingebaut werden, ob der Name der Tabelle in der Quelldatei in der Zieldatei jeweils vorhanden ist und was passieren soll, falls das nicht der Fall ist.
Gruß
Farnz

Sub Werteübernehmen()
'Übernimmt Werte aus den Tabellen einer Datei in die aktive Datei
Dim wbQuelle As Workbook, wbZiel As Workbook
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Dim ZeileL As Long, ZielZelle As Range, Quellbereich As Range
Set wbZiel = ActiveWorkbook 'Datei in die die daten übertragen werdne sollen
Application.ScreenUpdating = False
Set wbQuelle = Workbooks.Open(FileName:="C:\Test\Test.xls", ReadOnly:=True)
For Each wksQuelle In wbQuelle.Worksheets
'Annahme: Namen der Tabellen sind in den Dateien identisch
Set wksZiel = wbZiel.Worksheets(wksQuelle.Name)
With wksZiel
Set ZielZelle = .Cells(3, 4) 'Linke obere Zelle ab der Daten eingefügt werden sollen
'Altdaten in Zieltabelle löschen? 1. Zeile mit Formeln nicht löschen!
.Range(.Cells(ZielZelle.Row + 1, 1), .Cells(.Rows.Count, 25)).ClearContents
'Letzte Zeile in Quelltabelle ermitteln.
'Dazu Spalte wählen, die in allen Zeilen Daten hat!
ZeileL = wksQuelle.Cells(wksQuelle.Rows.Count, 1).End(xlUp).Row
'Werte von Quelle nach Ziel übertragen
Set Quellbereich = wksQuelle.Range(wksQuelle.Cells(1, 1), wksQuelle.Cells(ZeileL, 22))
ZielZelle.Range(.Cells(1, 1), .Cells(Quellbereich.Rows.Count, _
Quellbereich.Columns.Count)).Value = Quellbereich.Value
'Formeln im Formel-Bereich nach unten kopieren
.Range(.Cells(3, 1), .Cells(3 + Quellbereich.Rows.Count - 1, 3)).FillDown
End With
Next
wbQuelle.Close Savechanges:=False
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Kopieren von Werten
09.05.2007 08:32:00
Werten
Hallo Franz,
danke für Deine sehr ausführliche Hilfe!!
Klappt mit ein paar kleinen Modifikationen ausgezeichnet!
Gruß
Christian
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige