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

Daten Exportieren

Forumthread: Daten Exportieren

Daten Exportieren
05.04.2017 11:49:01
Sandro
Hallo Zusammen,
Folgende Ausgangslage:
Ich befinde mich in einer Excel-Datei wo Daten gefiltert werden. Diese werden per Makro und Formeln aktualisiert. Die Arbeitsmappe besteht aus ca. 10 Tabellenblättern.
Mein Ziel:
Ich möchte ein Makro erstellen, das mir die CurrentRegion von A1 (Da die Range durch den Filter immer variiert) von 3 der 10 Tabellenblättern, in eine andere, bereits vorhandene Excel-Datei kopiert, diese ist beim Ausführen des Makros aber nicht geöffnet. Es sollen nur die Werte ohne Formeln kopiert werden. In der Zieltabelle habe ich genau 3 Tabellenblätter mit den gleichen Namen wie in der Ursprungsdatei. Die Zieltabelle soll geöffnet werden und die Werte sollen beim entsprechenden Tabellenblatt der Zieltabelle bei A1 eingefügt werden. Wenn die Daten eingefügt sind, sollte das Makro noch die Spaltenbreite automatisch anpassen (So wie wenn ich einen Doppelklick zwischen die Spalten machen würde).
Hier die 2 Beispieldateien:
Ursprungstabelle https://www.herber.de/bbs/user/112656.xlsx
Zieltabelle https://www.herber.de/bbs/user/112657.xlsx
Vielen Dank für eure Hilfe.
Gruss Sandro
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Daten Exportieren
05.04.2017 13:49:53
ChrisL
Hi Sandro
Ohne Öffnen kannst du vergessen. Ansonsten probiere mal...
Sub t()
Dim WB1 As Workbook, WB2 As Workbook
Dim arWSName() As Variant, i As Integer
Application.ScreenUpdating = False
Set WB1 = ThisWorkbook
Set WB2 = Workbooks.Open("C:\Pfad\Mappe2.xlsx")
arWSName() = Array("Test 1", "Test 2", "Test 3")
For i = 0 To UBound(arWSName)
With WB1.Worksheets(arWSName(i))
.Range("A2:H" & .Cells(Rows.Count, 1).End(xlUp).Row).Copy
End With
With WB2.Worksheets(arWSName(i))
.Range("A1").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Next i
WB2.Close True
End Sub
cu
Chris
Anzeige
AW: Daten Exportieren
05.04.2017 13:54:22
ChrisL
Autofit vergessen...
Sub t()
Dim WB1 As Workbook, WB2 As Workbook
Dim arWSName() As Variant, i As Integer
Application.ScreenUpdating = False
Set WB1 = ThisWorkbook
Set WB2 = Workbooks.Open("C:\Pfad\Mappe2.xlsx")
arWSName() = Array("Test 1", "Test 2", "Test 3")
For i = 0 To UBound(arWSName)
With WB1.Worksheets(arWSName(i))
.Range("A2:H" & .Cells(Rows.Count, 1).End(xlUp).Row).Copy
End With
With WB2.Worksheets(arWSName(i))
.Range("A1").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.Columns("A:H").EntireColumn.AutoFit
End With
Next i
WB2.Close True
End Sub

Anzeige
AW: Daten Exportieren
06.04.2017 09:36:10
Sandro
Hallo Chris,
Mit "nicht geöffnet" habe ich nicht gemeint, dass das Excel nicht geöffnet werden darf. Nur, dass ich es zum Zeitpunkt, wenn das Makro ausgeführt wird nicht geöffnet habe.
Vielen herzlichen Dank für dein Makro, es funktioniert wunderbar und macht genau das, was ich brauche!
Gruss
Sandro
Anzeige
;

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