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

Blatt aus externer Datei kopieren und einfügen

Blatt aus externer Datei kopieren und einfügen
05.04.2017 09:02:23
Tim
Hallo,
ich möchte gerne ein Blatt (Worksheets(1) ) aus einer anderen Datei (Data.xlsx) kopieren und die Werte in meine geöffnete Datei einfügen (Worksheets(4) ).
Die Datei aus der kopiert werden soll, ist nicht geöffnet und soll zum Kopieren möglichst "unsichtbar" geöffnet und geschlossen werden.
Ich bin noch ziemlich neu bei VBA und der Makro-Recorder hilft hier auch nicht viel.
Kann mir jemand hier damit weiterhelfen ?
Vielen Dank im Voraus für jeden Tipp.
VG,
Tim

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

Betreff
Datum
Anwender
Anzeige
AW: Blatt aus externer Datei kopieren und einfügen
05.04.2017 12:59:08
Michael
Hallo!
In Ermangelung konkreterer Angaben Deinerseits, eine Möglichkeit:
Sub ExterneDatenKopieren()
Const PFAD$ = "C:\DeinPfad\"
Const QUELL_DATEI$ = "Data.xlsx"
Dim WbZ As Workbook: Set WbZ = ThisWorkbook
Dim WsZ As Worksheet: Set WsZ = WbZ.Worksheets(4)
Dim WbQ As Workbook, WsQ As Worksheet
Application.ScreenUpdating = False
Set WbQ = Workbooks.Open(PFAD & QUELL_DATEI)
Set WsQ = WbQ.Worksheets(1)
With WsQ
.UsedRange.Copy
With WsZ
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial _
xlPasteValuesAndNumberFormats
End With
End With
Application.CutCopyMode = False: WbQ.Close False
Set WbZ = Nothing
Set WsZ = Nothing
Set WbQ = Nothing
Set WsQ = Nothing
End Sub
LG
Michael
Anzeige
AW: Blatt aus externer Datei kopieren und einfügen
05.04.2017 16:32:40
fcs
Hallo Tim,
hier ein Beispiel. Dieses kopiert die Inhalte aus der Quelltabelle in die Zieltabelle.
Einfacher wäre es ggf. das komplette Tabellenblatt aus der Quelle in die Zieldatei zu kopieren.
LG
Franz
'Erstellt unter Excel 2010
Sub Daten_aus_Datei_einfuegen()
Dim wkbQ As Workbook, wksQ As Worksheet
Dim wksZ As Worksheet, wksA As Object
Dim strAdr As String
Application.ScreenUpdating = False
'Zieltabelle setzen
Set wksZ = ActiveWorkbook.Worksheets(4)
'Aktives Blatt merken
Set wksA = ActiveSheet
'Quelldatei öffnen
Set wkbQ = Application.Workbooks.Open( _
Filename:="D:\Sonstiges\Data1.xlsx", _
ReadOnly:=True, _
UpdateLinks:=False)  'Pfad und Dateiname anpassen!!!!
'Quelltabelle setzen
Set wksQ = wkbQ.Worksheets(1)
'Datenbereich in Quelltabelle kopieren
With wksQ
With .UsedRange
strAdr = .Address
.Copy
End With
End With
'Daten in Zieltabelle einfügen
With wksZ.Range(strAdr)
'Spaltenbreiten einfügen
.PasteSpecial Paste:=xlPasteColumnWidths
'Alle daten einfügen
.PasteSpecial Paste:=xlPasteAll
End With
'Quelldatei wieder schliessen
wkbQ.Close savechanges:=False
'gemerktes Blatt aktivieren
wksA.Activate
Application.ScreenUpdating = True
End Sub
'Erstellt unter Excel 2010 - Variante mit Tabellenblatt kopieren
Sub Tabellenblatt_aus_Datei_einfuegen()
Dim wkbQ As Workbook, wksQ As Worksheet
Dim wkbZ As Workbook, wksA As Object
Application.ScreenUpdating = False
'Zieldatei setzen
Set wkbZ = ActiveWorkbook
'Aktives Blatt merken
Set wksA = ActiveSheet
'Quelldatei öffnen
Set wkbQ = Application.Workbooks.Open( _
Filename:="D:\Sonstiges\Data1.xlsx", _
ReadOnly:=True, _
UpdateLinks:=False)  'Pfad und Dateiname anpassen!!!!
'Quelltabelle setzen
Set wksQ = wkbQ.Worksheets(1)
'Quelltabelle in Zieldatei kopieren
wksQ.Copy after:=wkbZ.Sheets(3)
'kopiertes Blatt umbenennen
wkbZ.Sheets(4).Name = "Test" & Format(Now, "YYYYMMDDhhmmss") 'Name anpassen
'Quelldatei wieder schliessen
wkbQ.Close savechanges:=False
'gemerktes Blatt aktivieren
wksA.Activate
Application.ScreenUpdating = True
End Sub

Anzeige

351 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige