Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige