Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1588to1592
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

2 unterschiedliche Blöcke in 2 andere kopieren

2 unterschiedliche Blöcke in 2 andere kopieren
27.10.2017 17:30:02
Nordwestler
Hallo noch mal, brauche doch noch mal Hilfe.
Ich habe/hatte einen funktionierenden Code, um aus einer Datei einen Bereich in eine andere Datei zu kopieren und unter dem mitkopierten Namen zu speichern
Sub()
Dim strDateiname As String
' im aktiven Tabellenblatt die zu kopierenden Zellen definieren und kopieren
Sheets("Exportdaten").Range("a1:ga3000").Copy
' Zieldatei öffnen
Workbooks.Open Filename:=Environ("USERPROFILE") & "\Desktop\Exceltest\Master\VP Neu.xlsx"
' Ziel zum Einfügen definieren und als Werte einfügen
ActiveWorkbook.Sheets("Importdaten").Range("a1:ga3000").PasteSpecial Paste:=xlPasteValues
' Die Zelle(n) definieren, aus denen der neue Dateiname ausgelesen werden soll
strDateiname = Range("A1").Value & ".xlsx"
ActiveWorkbook.SaveAs Filename:=Environ("USERPROFILE") & "\Desktop\Exceltest\Ergebnisse\" & strDateiname
Application.CutCopyMode = False
ActiveWorkbook.Close
End Sub
Wegen Einbau von Pivot-Tabellen in der Zeildatei kann der Dateiname nun nicht mehr in der ersten Zeile des kopierten Bereichs mitgeliefert werden. Nun habe ich gedacht, gleichzeitig kopieren geht sicher nicht, am einfachsten wäre es, den Dateinamen - nach dem einfügen des Datenpakets - wieder aus der Quelldatei an eine andere Stelle in der Zieldatei zu speichern, ungefähr so:
'zurück zur Quelldatei
Windows("Steuerungsdatei.xlsm").Activate
'Kopierbereich auswählen
Sheets("Tabelle1").Range("D3:E3").Copy
'Wieder zur Zieldatei
Windows("VP Neu.xlsx").Activate
'Den Bereich definieren, wo die kopierten Zellen eingefügt werden sollen.
Sheets("Deckblatt").Windows("VP Neu.xlsx").Activate
Sheets("Deckblatt").Range("B1:C1").PasteSpecial Paste:=xlPasteValues
Leider klappt das nicht :-( der Code hängt sich auf bei den Sheets am Ende. Kann mir bitte jemand den Codefehler beseitigen?
Grüße
Reinhard

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

Betreff
Datum
Anwender
Anzeige
AW: 2 unterschiedliche Blöcke in 2 andere kopieren
27.10.2017 17:41:53
Nordwestler
Merkwürdigerweise sind die beiden Zellen in die Zieldatei eingefügt worden, obwohl der Debugger am ersten Sheets hängen geblieben ist?
AW: 2 unterschiedliche Blöcke in 2 andere kopieren
27.10.2017 17:49:24
Nordwestler
Der Makrorekorder hat ja die Sheets quasi doppelt eingesetzt, habe mal die erste Sheets-Zeile deaktiviert, und siehe da, jetzt hängt der Code weiter unten, also bei:
ActiveWorkbook.SaveAs .....
Die Zelle B1 ist aber gefüllt, der Name zum speichern ist also da, aber der Vorgang wird nicht abgeschlossen.
Warum nicht?
Peinlich, aber ...
27.10.2017 17:55:37
Nordwestler
Ist mir fast peinlich, aber ich hatte vergessen, den Zellbezug zum Speichern von A1 auf B1 zu ändern. Damit ging's dann glatt durch. :-)
Aber vielleicht kann trotzdem jemand meinen Stümpercode etwas optimieren?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige