Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatisches Erzeugen neuer Arbeitsmappen

Automatisches Erzeugen neuer Arbeitsmappen
24.01.2008 10:50:00
kretzing
Hallo,
ich habe eine Frage zur automatischen Anlage von neuen Arbeitsmappen auf Basis einer bestehenden Arbeitsmappe. Konkret: Ich habe eine Arbeitsmappe mit mehreren Arbeitsblättern, wobei ich in die ersten beiden Arbeitsblätter per Formeln (insb. SVERWEIS) Daten einlese. Ich möchte nun pro Datensatz (in Zelle B3), den ich einlese per Makro eine neue Datei erzeugen, in der die Werte und Formate der Spalten D bis J übernommen worden sind. Die Datei soll die Nummer des Datensatzes (aus Zelle B3) als Namen der Arbeitsmappe haben. Anschließend soll der nächste Datensatz gelesen werden und nach gleicher Weise verfahren werden. Die entsprechende Schleife habe ich programmiert, doch mit dieser Copy, Paste und Speichern-Geschichte komme ich nicht wirklich voran. Vielen Dank für die Unterstützung bereits im Voraus!!!
Schöne Grüße aus dem hohen Norden
André

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches Erzeugen neuer Arbeitsmappen
25.01.2008 10:55:00
fcs
Hallo André,
am besten legst du in deiner bestehenden Arbeitsmappe noch ein leeres Mustertabellenblatt an, das die entsprechenden Formatierungen der Spalten etc. hat. Dieses Musterblatt wird im Makro zum Erzeugen der neuen Arbeitsmappen verwendet.
Hier mal die Grundstruktur für eine entsprechendes Makro.

Sub DatenBlaetter()
Dim wbThis As Workbook, wbNeu As Workbook, wksMuster As Worksheet, wksNeu As Worksheet
Dim Zaehler As Integer, Pfad As String, Dateiname As String
Set wbThis = ThisWorkbook
Set wksMuster = wbThis.Worksheets("Muster")
For Zaehler = 1 To 5 'Schleife für Datensätze
'code zum Aktualiiseren des Datensatzes
'Neue Arbeitsmappe auf Basis Musterblatt erzeugen
wksMuster.Copy
Set wbNeu = ActiveWorkbook
Set wksNeu = wbNeu.Worksheets(1)
wksNeu.Name = "TabXYZ" 'Tabellenblatt-Namen anpassen
'Code zum Übertragen der Daten ins neue Blatt
With wbThis.Worksheets(1)
.Range(.Columns(4), .Columns(10)).Copy
wksNeu.Cells(1, 1).PasteSpecial Paste:=xlFormats
wksNeu.Cells(1, 1).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End With
'neue datei speichern
Pfad = wbThis.Path
Dateiname = wbThis.Worksheets(1).Range("B3") & ".xls"
wbNeu.SaveAs Filename:=Pfad & "\" & Dateiname
wbNeu.Close
Set wbNeu = Nothing
Next
End Sub

Gruß
Franz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige