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

Makro-Abspeichern individuell

Makro-Abspeichern individuell
22.12.2012 20:02:21
Paulo
Nach dem erfolgreichen Umformatieren einer asc-Datei in Excel möchte ich diese unter dem gleichen Namen im selben Verzeichnis oder einem Unterverzeichnis als xls-Datei abspeichern. Das Problem ist, dass nach dem Aufruf speichern bspw. der Dateiname in Anführungszeichen vorgegeben ist ("Dateiname.asc"). Als Excel-Datei lässt sich deshalb diese Vorgabe erst nach Entfernen der Anführungszeichen vornehmen. Wie kann ich also in einem Makro erreichen, dass zum Abspeichern nur der Präfix übernommen wird aus der jeweiligen zu speichernden Datei.
Bei mir funktioniert es nur wenn der Dateiname im Makro vorgegeben ist, aber er soll natürlich aus der jeweilig zu speichernden Datei ohne Anführungszeichen übernommen werden. Ich hoffe, mir kann geholfen werden.
Mein Makro:
ActiveWorkbook.SaveAs Filename:="H:\Files\DRUCK\Dateiname.xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
ActiveWindow.Close
Gruß Paulo

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro-Abspeichern individuell
22.12.2012 21:27:57
Paulo
Ergänzend möchte ich noch erwähnen, dass der Dateiname auch im Tabellen-Tab erscheint und von dort auch ohne die Anführungszeichen übernommen werden könnte.

AW: Makro-Abspeichern individuell
23.12.2012 11:34:56
Sheldon
Hallo Paolo,
versuchs mal so:
ActiveWorkbook.Saveas Filename:="H:\Files\DRUCK\" & Activesheet.Name & ".xls"
Die übrigen Parameter kannst Du beibehalten, falls benötigt und gewünscht.
Gruß
Sheldon

AW: Makro-Abspeichern individuell
23.12.2012 12:48:24
Paulo
Alles Spitze, Sheldon. Genauso habe ich es mir vorgestellt. Habe aber immer Probleme mit der Eingabe von Variablen. Vielen Dank für das Weihnachtsgeschenk.
Paulo

AW: Makro-Abspeichern individuell
23.12.2012 15:41:17
Paulo
Alles super, Sheldon. Funktioniert jetzt einwandfrei. Danke für das "Weihnachtsgeschenk".
Habe noch ein zweites Problem beim Erstellen einer Arbeitsmappe, in die mehrere Dateien eingefügt werden sollen. Habe das Makro mal beigefügt, das alllerdings nur funktioniert, wenn die Dateinamen mit denen des Makros identisch sind. Sollte aber als Schleife für alle geöffneten Dateien beliebigen Namens sein. Vielleicht kannst Du mir ja auch dabei weiterhelfen:
Sub Makro3()
Workbooks.Add
ChDir "H:\"
ActiveWorkbook.SaveAs Filename:="H:\Druck-Dateien\Arbeitsmappe-Druck.xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
ActiveWindow.WindowState = xlMinimized
Windows("File1.xls").Activate
Sheets("File1").Select
Sheets("File1").Move Before:=Workbooks("Arbeitsmappe-Druck.xls").Sheets(1)
Windows("File2.xls").Activate
Sheets("File2").Select
Sheets("File2").Move Before:=Workbooks("Arbeitsmappe-Druck.xls").Sheets(1)
Windows("File3.xls").Activate
Sheets("File3").Select
Sheets("File3").Move Before:=Workbooks("Arbeitsmappe-Druck.xls").Sheets(1)
ActiveWindow.WindowState = xlNormal
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

Anzeige
AW: Makro-Abspeichern individuell
23.12.2012 20:49:17
Sheldon
Hallo Ray,
versuchs mal so:
Sub aaaa()
Dim oWb As Workbook, tWb As Workbook
Set tWb = Workbooks.Add
tWb.SaveAs Filename:="H:\Druck-Dateien\Arbeitsmappe-Druck.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
ActiveWindow.WindowState = xlMinimized
For Each oWb In Workbooks
Select Case oWb.Name
Case tWb.Name
Case Else
oWb.Sheets(1).Move Before:=tWb.Sheets(1)
End Select
Next
ActiveWindow.WindowState = xlNormal
tWb.Save
tWb.Close
End Sub
Als Grundsatz gilt: Niemals .Select, .Activate usw verwenden, das macht der
Makrorecorder zwar immer, aber im Grunde ist das nicht notwendig. Da gibt es schon endlos viele Threads hier im Forum!
Wenn Du im Original-Thread Deinen Code bereits zur Verfuegung gestellt hättest, hätte Dir Hajo sicher auch helfen können ;-)
Gruß
Sheldon

Anzeige
AW: Makro-Abspeichern individuell
23.12.2012 21:50:12
Paulo
Hallo Sheldon, den Code habe ich erst später durch probieren erstellt, da ich dachte, es wäre ganz einfach, mehrere Tabellen in eine neue Arbeitsmappe einzufügen. Was über den Makro-Recorder hinausgeht ist für mich auch höhere Mathematik, bin immerhin schon 72.
Habe Dein Makro ausprobiert, scheint auch auf dem richtigen Weg, aber nach dem ersten "For each ... End Select" ist lediglich eine leere Tabelle 1 (2) eingefügt in die neue Datei und dann endet auch das Makro. Vielleicht hilft Dir dieser Hinweis, das Makro für meine Zwecke noch anzupassen. Danke.
Paulo

AW: Makro-Abspeichern individuell
23.12.2012 22:06:51
Sheldon
Hallo Paulo,
wenn keine Blätter eingefügt werden, sind keine weiteren Dateien geöffnet. Das Makro nimmt aus jeder geöffneten Datei das erste Tabellenblatt (Sheets(1)).
Gruß
Sheldon

Anzeige
AW: Makro-Abspeichern individuell
23.12.2012 22:30:08
Paulo
Hallo Sheldon, tut mir leid, aber nach nochmaligem Versuch das gleiche Ergebnis, wie geschildert.
Ich habe in Excel 3 Dateien geöffnet, die jeweils nur ein Tabellenblatt enthalten haben. Bitte überprüfe nocheinmal Dein Makro. Danke.

das werde ich. Doch erst morgen! owT
23.12.2012 23:14:32
Sheldon
Gruß
Sheldon

AW: Makro-Abspeichern individuell
24.12.2012 11:57:51
Sheldon
So, Paulo,
ich habe den Code nochmal getestet. Einen kleinen Schönheitsfehler hab ich ausgemerzt, ansonsten war mein Test erfolgreich. Schau nochmal mit diesem Code, ob das funktioniert.
Sub aaaa()
Dim oWb As Workbook, tWb As Workbook
Set tWb = Workbooks.Add
tWb.SaveAs Filename:="Paulo_Test.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False    '"H:\Druck-Dateien\Arbeitsmappe-Druck.xls"
ActiveWindow.WindowState = xlMinimized
For Each oWb In Workbooks
Select Case oWb.Name
Case tWb.Name
Case ThisWorkbook.Name
Case Else
oWb.Sheets(1).Move Before:=tWb.Sheets(1)
End Select
Next
ActiveWindow.WindowState = xlNormal
tWb.Save
tWb.Close
End Sub

Gruß
Sheldon

Anzeige
AW: Makro-Abspeichern individuell
24.12.2012 13:57:58
Paulo
Sheldon, die Weihnachtsbescherung ist Dir gelungen, jetzt klappt es einwandfrei. Ich habe lediglich noch folgendes eingefügt: Range("A3").Select, da alle gespeicherten Seiten markiert waren. Vermutlich geht es auch noch eleganter, aber da bin ich überfordert, weil ich eben nur Dinge vom Recorder übernehmen kann.
Schönes Weihnachtsfest und einen Guten Rutsch wünscht Paulo

danke gleichfalls! owT
24.12.2012 15:21:49
Sheldon
Gruß
Sheldon

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige