Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nachtrag zu Alle Arbeitsblätter als einzeln. Mappe

Nachtrag zu Alle Arbeitsblätter als einzeln. Mappe
14.04.2004 22:28:08
Roberto
Hallo zusammen,
Hallo Matthias,
habe Dein Makro heute mal in der Firma ausprobiert. Als ich es in der
persönlichen Arbeitsmappe ablegte und es startete, wurden alle Arbeitsblätter in das VerzeichnisXl Start gespeichert.
Wenn ich statt ThisWorkbook ActiveWorkbook nehme speichert er die Dateien direkt unter C\.
Mein Ziel war jedoch dass er die Arbeitsblätter in dem Ordner abspeichert, von wo aus ja auch die Originaldatei geöffnet wurde.
Das Makro funktioniert einwandfrei, wenn ich es in ein Modul in der geöffneten Arbeitsmappe einbaue und dann starte.
Schöner wäre es, wenn ich es in der persönlichen Arbeitsmappe hätte und von dort aus starten könnte.
Hier noch mal der Code. Falls ausser Matthias noch jemand eine Lösung hat freue ich mich natürlich auch.

Sub BlätterEinzelnSpeichern()
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
Sheets(i).Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" + ActiveSheet.Name & ".xls"
ActiveWorkbook.Close
Next i
Application.ScreenUpdating = True
End Sub


Vielen Danke im voraus :-)

Roberto

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

Betreff
Datum
Anwender
Anzeige
AW: Nachtrag zu Alle Arbeitsblätter als einzeln. M
14.04.2004 22:46:12
Marco W.
Um detailiert etwas schreiben zu können fehlt mir der Start (das Laden/ Öffnen der entsprechenden Datei).
Bei diesem Lade-Vorgang muss der Pfad der geöffneten Datei ermittelt und in einer String-Varibale gespeichert werden. Anschließend kann diese Stringvariable anstelle von 'ThisWorkbook.Path'Verwendet werden.
Ermitteln der Pfadangabe, wenn die gewünschte Datei aktiv ist bzw. aktiv gemacht wurde:
dim Pfad as String
Workbook("Dateiname.xls).Activate
Pfad=Activeworkbook.Path
oder gleich über den Dateinamen gehen:
Pfad=Workbook("Dateiname.xls).Path
Hoffe, ich habe das Problem halbwegs verstanden.
Anzeige
AW: Nachtrag zu Alle Arbeitsblätter als einzeln. M
15.04.2004 20:14:40
Roberto
Hallo Marco,
durch ermitteln der Pfadangabe speichert das Makro die Datei in dem richtigen Ordner ab :-) Es ist egal ob das Makro in der Persönlichen Arbeitsmappe liegt oder als Adin
Der Code sieht nun so aus:

Sub BlätterEinzelnSpeichern()
Dim i As Integer
Dim Pfad As String
Pfad = ActiveWorkbook.Path
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
Sheets(i).Copy
ActiveWorkbook.SaveAs Filename:=Pfad & "\" + ActiveSheet.Name & ".xls"
ActiveWorkbook.Close
Next i
Application.ScreenUpdating = True
End Sub


Danke Marco :-)
Anzeige
AW: Nachtrag zu Alle Arbeitsblätter als einzeln. Mappe
14.04.2004 22:55:56
Matthias G
Hallo Roberto,
Wo ist nochmal die Persönliche Arbeitsmappe...
Naja egal, ich wußte nicht, daß du das Makro für andere Mappen verwenden willst.
Ändere es so ab:

Sub BlätterEinzelnSpeichern()
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Copy
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" + ActiveSheet.Name & ".xls"
ActiveWorkbook.Close
Next i
Application.ScreenUpdating = True
End Sub

Speichere es dann als Add-In, wie ich es hier beschrieben habe:
http://xlforum.herber.de/messages/412935.html
_________________________________________________

Achso, mit der Persönlichen Arbeitsmappe: Personl.xls, im Ordner XlStart? Oder habe ich falsch recherchiert?
Hier müsste das ganze auch gehen.
Es müsste vielleicht noch eine Abfrage rein, ob die Mappe schon gespeichert wurde:
Daher vielleicht der Fehler mit dem Ordner "C\."
If ActiveWorkbook.Path = "" Then MsgBox "Datei muss erst gespeichert werden." : Exit Sub
Vielleicht klappt es so!
Viele Grüße,
Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige