Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien erstellen / Werte einfügen

Dateien erstellen / Werte einfügen
08.06.2004 14:44:12
Jochen
Liebe Excel/VBA Spezialisten,
ich habe
1. eine xls-Datei, die Daten enthält und
2. eine xls-Datei die als Vorlage dient.
Ziel sind etwa 600 xls-Dateien (auf Basis der Vorlage) zu erstellen und diese mit Daten aus der Datendatei zu füllen. Je Zeile in der Datendatei entsteht eine neue Datei. Der Name der Datei ist in Spalte B enthalten, die Werte im Rest der jeweilgen Zeile.
Die Zieldateien enthalten jeweils zwei Tabellen (Istwerte und Prognose). Die Tabelle Istwerte sollt mit etwa 12 Werten gefüllt werden.
Meine Vorstellung ist bisher
1. Je Zeile die Erstellung einer Datei auf Basis der Vorlage "Personalkosten.xls" mit einem Namen aus meiner Datendatei ("NameKostenstelle" in Spalte B).
2. Füllen der neuen Tabelle in Zeile C mit bestimmten Daten aus der jeweiligen Zeile der Basisdaten
3. Abspeichern ;-)
und das ganze in einer Schleife, die sich in Spalte B "nach unten bewegt"...
Vielleicht gibt es hier Experten, denen so etwas leicht fällt.
Der Anfang ist schon gmacht, das kleine Makro schreibt schon 5 verschiedene Dateien nach Vorlage in einen Ordner. ;-)
Es geht bestimmt auch viel eleganter!
Ich freue mich schon auf eine Lösung
Jochen

Sub Viele_Dateien_aus_Vorlage()
Dim Quellpfad As String
Dim Zielpfad As String
Dim AWbk As Workbook    'Aktives Workbook
Dim Dateiname As String
Dim i As Integer
Quellpfad = "C:\Eigene Dateien\Dateien_erstellen\Vorlagen\" ' Hier liegt die Vorlage
Zielpfad = "C:\Eigene Dateien\Dateien_erstellen\ErstellteDateien\" 'Hierhin wird gesachrieben
Workbooks.Add Template:=Quellpfad & "Personalkosten" ' Das ist die Vorlage
For i = 1 To 5
Dateiname = ThisWorkbook.Worksheets(1).Range("B1").Value   ' Hier sollte Spalte B jeweils ein Feld tiefer abgefragt werden
ActiveWorkbook.SaveAs FileName:=Zielpfad & Dateiname & i 'Abspeichern mit dem Wert in Feld B1 und einer fortlaufenden Zahl
Next i
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien erstellen / Werte einfügen
Reinhard
Hi Jochen,
ein Ansatz ist nachfolgend, aber ungetested. Ich hab nicht kapiert was genau du von wo nach wo kopieren willst, Zeile C gibt es nicht.
Gruß
Reinhard

Sub Viele_Dateien_aus_Vorlage()
Dim Quellpfad As String
Dim Zielpfad As String
Dim AWbk As Workbook    'Aktives Workbook
Dim Dateiname As String
Dim i As Long
VorlDatei = "C:\Eigene Dateien\Dateien_erstellen\Vorlagen\Personalkosten.xls" ' Vorlage
Quelldatei = ThisWorkbook.Name 'diese=Datendatei
Zielpfad = "C:\Eigene Dateien\Dateien_erstellen\ErstellteDateien\" 'Hierhin wird gesachrieben
With Quelldatei
liZeile = .Worksheets("Tabelle1").Range("B65536").End(xlUp).Row 'letzte nichtleere Zelle in Sopalte B
For n = 1 To liZeile
Workbooks.Add Template:=VorlDatei ' Das ist die Vorlage
Dateiname = .Worksheets("Tabelle1").Range("B" & n) ' Hier sollte Spalte B jeweils ein Feld tiefer abgefragt werden
Worksheets("Tabelle1").Name = "Istwerte"
Worksheets("Tabelle2").Name = "Prognose"
Worksheets("Istwerte").Range(Cells(n, 3), Cells(n, 14)) = .Range(Cells(n, 3), Cells(n, 14))
ActiveWorkbook.SaveAs Filename:=Zielpfad & Dateiname & n 'Abspeichern mit dem Wert in Feld B1 und einer fortlaufenden Zahl
Next n
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige