[VBA] Tabellenblätter aktiv setzen und speichern

Basti__1990

Admiral
Dabei seit
Dez. 2010
Beiträge
9.690
Hallo,

ich möchte in einer großen Excel-Datei mit vielen Tabellenblätter per Makro jedes Tabellenblatt einzeln als neue Excel-Datei speichern. Wenn ich also 5 Tabellenblätter habe, müssen nach dem Makro 5 neue Dateien entstanden seien.
Alle Dateien werden in einem neuen Ordner gespeichert.

Code:
Sub Pfad() 
 Dim Pfad As String 
 Dim Name As String 
 Dim PName As String 
 Dim i As Integer 
  
  
 Pfad = Application.ActiveWorkbook.Path 
 MsgBox Pfad 'nur zum Test
 Pfad = Pfad + "\Auswertung" 
 MkDir Pfad 'Ordner anlegen

  
 For i = 1 To Sheets.Count 

 [B]Sheets(i).Active[/B] 
 Name = ActiveSheet.Name 
 PName = Pfad + Name 
 ActiveSheet.SaveAs PName 
 Next i 
End Sub

An der fett markierten Stelle "Sheets(i).Active" haut er mich immer raus.

Kann mir vielleicht jemand von euch mit eurem unendlichen VBA-Wissen weiter helfen?

Danke!
Gruß Basti
 

chu_

Lt. Commander
Dabei seit
März 2011
Beiträge
1.200
Code:
Sheets(i).Activate

und nicht
Sheets(i).Active

Aber das speichert dir immernoch nicht jedes Blatt als extra Datei sondern die Datei i-mal.
 

Igorrr

Cadet 4th Year
Dabei seit
Apr. 2011
Beiträge
91
edit: Leider etwas zu spät ^^

Die Funktion, die du suchst heißt Sheets(i).Activate ...
 

Basti__1990

Admiral
Ersteller dieses Themas
Dabei seit
Dez. 2010
Beiträge
9.690
oh ma das mit dem activate ist aber peinlich :(

wenn mir ActiveSheet.SaveAs XXX nicht ein einzelnes Sheet speichert, wie schaff ich es dann?
 

chu_

Lt. Commander
Dabei seit
März 2011
Beiträge
1.200
Du musst eine neues Excel Workbook erstellen und das Sheet was du haben möchtest dort in das neue Workbook kopieren und dieses dann speichern.
 

Basti__1990

Admiral
Ersteller dieses Themas
Dabei seit
Dez. 2010
Beiträge
9.690
Code:
Sub alle_Tab_als_Datei() 
For i = 1 To ActiveWorkbook.Sheets.Count 
Sheets(i).Copy 
ActiveWorkbook.SaveAs Sheets(1).Name 
ActiveWorkbook.Close 
Next i
End Sub

Das habe ich gerade gefunden, aber dann bekomm ich die Fehlermeldung "Die Copy-Methode es Workbook-Elements konnte nicht ausgeführt werden" :(
 
Top