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

Daten aus externer Datei in Blatt kopieren

Daten aus externer Datei in Blatt kopieren
braleta
L&G,
und wieder komme ich mit einer Frage, die ich nicht alleine lösen kann.
Ich bin in Spanien, habe keine Literatur, und arbeite an einem Projekt, in dem ich nicht weiter komme:
Ich habe ein MASTER-Workbook mit 26 Spreadsheets, und in einem Update-Cycle erhalte ich monatlich 127 Update-Dateien, die dem MASTER entsprechen, aber in drei Blättern und (nur) in bestimmten definierten Zeilen abweichende Werte haben (können).
Mein Ziel ist es, diese Update-Dateien mittels VBA in das MASTER-Workbook zu rechnen.
Ich habe mittlerweile den gesamten Code, aber was ich nicht weiß, ist, wie ich Daten aus diesen externen Datei in mein MASTER-Workbook kopieren kann, um von dort aus dann den Update durchzuführen (so stelle ich mir das vor...).
Ich finde jede Datei, ich kann auch jede Datei öffnen, aber:
was ich brauche, sind die Daten aus drei Blättern, und zwar von Zeile 9 bis Zeile 200. Ich kann nicht das ganze Blatt kopieren, weil da sehr viele verbundene Zellen sind, die sich nicht kopieren lassen.
Kann mir Jemand - bitte - einen Tipp geben?
Danke ...braleta

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

Betreff
Benutzer
Anzeige
AW: Daten aus externer Datei in Blatt kopieren
01.08.2011 20:58:17
fcs
Hallo braletta,
da nuss du dann mit entsprechenden Objektvariablen arbeiten, denen die die Objekte von Master- und Updateidatei zugewiesen werden.
Gruß
Franz
Sub Test()
'Testvariablen zum Finden der Datein
Dim sDatei, Zeile&, Spalte&, ZeileZ&, SpalteZ&
Const Pfad = "C:\Public\users\Test\Updates"
'Objekt-Variablen für Master-Datei und -Tabellenblätter
Dim wbMaster As Workbook
Dim wksMaster1 As Worksheet, wksMaster2 As Worksheet, wksMaster3 As Worksheet
'Objekt-Variablen für Update-Datei und -Tabellenblätter
Dim wbUpdate As Workbook
Dim wksUpdate1 As Worksheet, wksUpdate2 As Worksheet, wksUpdate3 As Worksheet
Dim rQuelle As Range
'Objekte der Masterdatei den Variablen zuordnen
Set wbMaster = Workbooks("Master.xls")
With wbMaster
Set wksMaster1 = .Worksheets("TabelleABC")
Set wksMaster2 = .Worksheets("TabelleDEF")
Set wksMaster3 = .Worksheets("TabelleGHI")
End With
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
'In einer Schleife die Update-Dateien öffnen und auswerten/auslesen
sDatei = Dir(Pfad & "\*.xls")
Do Until sDatei = ""
'Objekte einer Updatedatei den Variablen zuordnen
Set wbUpdate = Workbooks.Open(Pfad & "\" & sDatei, ReadOnly:=True) 'Parameter Reasonlx:= _
True _
dann verwenden, wenn in den Update-Dateien nichts geändert werden soll, sonst nicht.
With wbUpdate
Set wksUpdate1 = .Worksheets("TabelleABC")
Set wksUpdate2 = .Worksheets("TabelleDEF")
Set wksUpdate3 = .Worksheets("TabelleGHI")
End With
'Daten von Update-Blättern nach Master-Blättern übertragen - Beispielhaft
With wksUpdate1
Set rQuelle = .Range(Rows(2), .Rows(200))
'nur Werte kopieren - zum Beispiel wenn die Quelle Formeln enthält
rQuelle.Copy
wksMaster1.Range("A2").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'oder alles nach Master kopieren
rQuelle.Copy Destination:=wksMaster1.Range("A2")
'Werte eines Zellenbereichs Zelle für Zelle übertragen
ZeileZ = 10 '1. Zeile in die Daten im Masterblatt eingetragen werden sollen
For Zeile = 2 To 200 'Zeile in Update, die ausgelsen werden sollen
SpalteZ = 4 '1. Spalte in die Daten im Masterblatt eingetragen werden sollen
For Spalte = 1 To 20 'Spalten in Update, die ausgelesen werden sollen
wksMaster1.Cells(ZeileZ, SpalteZ).Value = .Cells(Zeile, Spalte).Value
SpalteZ = SpalteZ + 1
Next Spalte
ZeileZ = ZeileZ + 1
Next Zeile
'Werte einzelner Zellen in Masterblatt übernehmen
wksMaster.Range("A1").Value = .Range("A1")
End With
'usw. für die anderen Blätter
'Updatedatei wieder schliessen ohne zu speichern
wbUpdate.Close saves´changes:=False
'nächste Update-Datei öffnen
sDatei = Dir
Loop
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Anzeige
AW: Daten aus externer Datei in Blatt kopieren
01.08.2011 20:59:15
wolfgang
hallo braleta
ich würde es mit diesem Makro machen
ist zwar nicht so professionell aber es könnte funktionieren.
die Zeilen oder den Bereich müßtest Du dann noch anpassen
Sub Daten_Kopieren()
Dim Datei As String, Master As String
Datei = "TestDaten.xls"
Master = "TestMaster.xls"
Workbooks.Open Filename:="D:\" & Datei
For i = 1 To 3
Sheets(i).Select
Range("A1:F30").Copy
Windows(Master).Activate
Worksheets(i).Select
Range("A1").Select
ActiveSheet.Paste
Windows(Datei).Activate
Next i
ActiveWorkbook.Close
End Sub
gruß wolfgang
AW: Daten aus externer Datei in Blatt kopieren
02.08.2011 10:49:42
bruno
Franz, Wolfgang,
super vielen Dank,
ich werde Euren Code analysieren, meinen Anforderungen anpassen und austesten.
Auf alle Fälle habt ihr mir sehr geholfen, die Vorschläge = Code-Beispiele sehen auf den ersten Blick sehr gut aus.
Noch ein Mal vielen Dank!
...bruno
Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige