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

Copy in neue Datei aus anderer Vorlage

Copy in neue Datei aus anderer Vorlage
09.04.2023 20:09:15
Dreamquester

Hallo zusammen,

ich bin eigentlich nur einfacher Excel-Anwender, der sich über dieses Forum Inspirationen einholen und bisher auch quick & dirty (weniger quick, dafür sehr dirty) umsetzen konnte. Dafür schon einmal herzlichen Dank an die großartige Community! Nun bin ich jedoch leider an meine Grenzen gestossen und komme auch durch intensive Recherche nicht weiter.

Wir nutzen in der Arbeit eine Masterdatei (*xlsm), die durch die gesamte Abteilung händisch mit Daten gespeist wird. Gelegentlich muss mit einer bestimmten Datenreihe weiter gearbeitet werden. Hierzu habe ich in Excel ein kleines "Tool" gebastelt, bei dem die etwa 10 erforderlichen Daten aus der Masterdatei abgeschrieben werden. Dieses Tool ist eine *xltm und öffnet anhand dieser Vorlage eine *xlsm, damit es nicht stets versehentlich überschrieben wird. Aus demselben Grund möchte ich auch das Tool nicht in die Masterdatei (als zusätzliches Arbeitsblatt) integrieren.

Nun wäre es natürlich schön, wenn die zehn Daten nicht abgeschrieben werden müssten, sondern automatisch gefüllt werden könnten. Die jeweiligen Daten befinden sind stets in derselben Spalte, weshalb ich mir dachte, die mit der aktiven Zeile herauszusuchen.

Aufgrund dieses Beitrags (https://www.herber.de/forum/archiv/1740to1744/1743877_VBA_neue_Datei_erstellen_Inhalt_kopiere.html) habe ich daher folgenden Code, mit vorerst nur einer zu kopierenden Zelle versucht:


Public Sub xxx_oeffnen() 'xxx steht für den Namen des Tools
Dim wbNeu As Workbook, wsNeu As Worksheet
Dim zeile As Long
zeile = ActiveCell.Row
Application.ScreenUpdating = False
strPfad = "yyy.xltm" 'yyy steht für den Pfad zum Tool
Set wbNeu = Workbooks.Add(strPfad)
Set wsNeu = wbNeu.Worksheets("zzz") 'zzz steht für den Namen des Tabellenblatts, in das ich die Daten einfügen möchte
With ThisWorkbook.Worksheets("Tabelle1")
.Range(Cells(zeile, 2)).Copy wsNeu.Range("B3")
End With
Set wbNeu = Nothing: Set wsNeu = Nothing
End Sub


Es öffnet sich auch eine neue Arbeitsmappe, die aus der Vorlage des Tools erstellt wurde.

Bei der Zeile .Range etc. erscheint dann jedoch der Laufzeitfehler '1004'.

Ich vermute, es liegt daran, dass das Workbook einen anderen Namen haben wird. Schließlich leiten sich die Namen aus der *xltm ab und werden durch eine laufende Zahl ergänzt.

Die Masterdatei hat nach dem ähnlichen Schema schon ein Makro, mit dem eine *.docx aus einer *.dotx erstellt und an den Textmarken befüllt wird. Da dies so gut funktioniert, wollte ich es auch excel-intern versuchen.

Ich würde mich sehr freuen, wenn Ihr mir hier Tipps geben könntet und bedanke mich hierfür bereits im Voraus!

Beste Grüße

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Copy in neue Datei aus anderer Vorlage
09.04.2023 22:07:54
ralf_b
.Range(Cells(zeile, 2)).Copy Was steht denn in cells(zeile,2)?


AW: Copy in neue Datei aus anderer Vorlage
09.04.2023 22:13:18
Dreamquester
Hallo Ralf,

danke für Deine Nachfrage.

Nach meinem Verständnis wird der Inhalt der Spalte B in der aktiven Zeile kopiert. Darin befindet sich ein Text mit dem Muster AA-1234-5678 (zwei Buchstaben, Minuszeichen, vier Ziffern, Minuszeichen, vier Ziffern).

Beste Grüße


AW: Copy in neue Datei aus anderer Vorlage
10.04.2023 17:45:44
ralf_b
du solltest das Range um Cells weglassen.
Range erwartet eine Bereichsbezeichnung aber Cells bringt bereits den Inhalt, der kopiert werden sollte.


AW: Copy in neue Datei aus anderer Vorlage
10.04.2023 21:49:18
Dreamquester
Hallo ralf und onur,

vielen Dank für Eure Hinweise! Ich schaue mir das gerne noch im Detail an!

Das konkrete Problem habe ich nun jedoch anders gelöst:
Anstelle die Daten aktiv von der Masterdatei in das Tool zu übergeben, hole ich die Inhalte nun vom Tool aus mittels SVERWEIS aus der Masterdatei. Der sprichwörtliche Wald mit den vielen Bäumen.

Beste Grüße


Anzeige
AW: Copy in neue Datei aus anderer Vorlage
09.04.2023 22:37:58
onur
Mal Off Topic:
1) "Application.ScreenUpdating = False" lohnt sich nur, wenn du sehr viele Zellen veränderst. aber In diesem Falle ist es Quatsch, vor allem, wenn man auch noch vergisst, es am Ende des Makros wieder rückgängig zu machen.
2) Sheets oder Workbooks in Objektvariable zu setzen, lohnt sich auch nur, wenn diese Namen oft benutzt werden und man dadurch Tipperei spart und der Code lesbarer wird. Auch in diesem Falle ist es Quatsch. Das Selbe gilt eigentlich auch für "With".-Schleifen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige