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

Arbeitsmappeen aus liste erstellen

Arbeitsmappeen aus liste erstellen
25.05.2009 11:45:08
Clemens
Guten Morgen werte Liste,
Ich sehe mich gerade mit folgendem Office2003 Problem konfrontiert:
mir liegt eine große Liste vor, anhand derer ich Arbeitsmappen und Tabellenblätter erstellen soll.
Konkret sieht die List folgendermaßen aus
Spalte A
Arbeitsmappenname1
Tabellenblattname1
Tabellenblattname2
Tabellenblattname3
Tabellenblattname4
Spalte B
Arbeitsmappenname2
Tabellenblattname1
Tabellenblattname2
Tabellenblattname3
Tabellenblattname4
Ich möchte nun ein Makro erstellen, dass für die erste Zelle einer jeden Spalte eine Arbeitsmappe erstellt und anschließend Tabellenblätter anhand der darunter stehenden, befüllten Zellen erzeugt. Die Anzahl der Tabellenblätter pro Arbeitsmappe kann dabei variieren.
Ich bin für jede Art von Hilfestellung dankbar, zumnal ich mit VBA schon seit geraumer Zeit auf Kriegsfuß stehe.
lg
Clemens

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

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsmappeen aus liste erstellen
25.05.2009 13:02:11
fcs
Hallo Clemens,
wenn du mit VBA schon seit längerer Zeit auf Kriegsfuss stehst, dann solltest du mal daran arbeiten, den Kriegszustand zu beseitigen und Friedensverhandlungen beginnen, d.h. VBA erlernen.
Gruß
Franz

Sub MappenErzeugen()
Dim wks As Worksheet, strMappe As String, strPfad As String
Dim wbNeu As Workbook, wksNeu As Worksheet
Dim lngZeile As Long, lngSpalte As Long
strPfad = ActiveWorkbook.Path 'ggf. Pfad für neue Dateien anpassen
Set wks = ActiveSheet
For lngSpalte = 1 To wks.Cells(1, wks.Columns.Count).End(xlToLeft).Column
strMappe = wks.Cells(1, lngSpalte).Text
If strMappe  "" Then
Workbooks.Add Template:=xlWBATWorksheet
Set wbNeu = ActiveWorkbook
Set wksNeu = wbNeu.Worksheets(1)
If wks.Cells(2, lngSpalte)  "" Then
wksNeu.Name = wks.Cells(2, lngSpalte).Text
End If
For lngZeile = 3 To wks.Cells(wks.Rows.Count, lngSpalte).End(xlUp).Row
Set wksNeu = wbNeu.Worksheets.Add(After:=wksNeu)
If wks.Cells(lngZeile, lngSpalte)  "" Then
wksNeu.Name = wks.Cells(lngZeile, lngSpalte).Text
End If
Next
End If
wbNeu.SaveAs Filename:=strPfad & Application.PathSeparator & strMappe, _
FileFormat:=xlWorkbook
wbNeu.Close
Next
End Sub


Anzeige
AW: Arbeitsmappeen aus liste erstellen
25.05.2009 13:06:44
Daniel
Hi
probier mal das hier:

Sub MappenErstellen()
Dim sp As Long, ze As Long
Dim AnzSheetsAlt As Long
Dim Anz As Long
Dim Speicherpfad As String
'--- Speicherpfad festlegen
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.Title = "Speicherpfad für neue Dateien auswählen"
.Show
On Error Resume Next
Speicherpfad = .SelectedItems(1)
On Error GoTo 0
If Speicherpfad = "" Then Exit Sub
End With
AnzSheetsAlt = Application.SheetsInNewWorkbook
'--- Dateien anlegen und speichern
With ThisWorkbook.Sheets("Tabelle1").Cells(1, 1).CurrentRegion
For sp = 1 To .Columns.Count
Anz = WorksheetFunction.CountA(.Columns(sp))
Application.SheetsInNewWorkbook = Anz - 1
Workbooks.Add
For ze = 2 To Anz
ActiveWorkbook.Sheets(ze - 1).Name = .Cells(ze, sp).Value
Next
ActiveWorkbook.SaveAs Speicherpfad & "\" & .Cells(1, sp).Value
Next
End With
Application.SheetsInNewWorkbook = AnzSheetsAlt
End Sub


Gruß, Daniel

Anzeige
AW: Arbeitsmappeen aus liste erstellen
25.05.2009 14:55:55
Clemens
Vielen Dank an FCS und Daniel, ihr habt mir sehr weitergeholfen!
mfg aus Japan
Clemens W

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige