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

Per Makro neue Mappe erstellen und speichern

Per Makro neue Mappe erstellen und speichern
21.01.2005 08:30:21
Sven
Hallo,
habe mal wieder ein Problem. Ich habe eine geöffnete Excel-Mappe. Jetzt soll per Makro eine neue Mappe geöffnet, Daten aus der schon geöffneten in die neue Mappe kopiert und diese dann gespeichert und wieder geschlossen werden.
Danke schonmal im voraus.
Gruß Sven

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per Makro neue Mappe erstellen und speichern
21.01.2005 08:41:18
Harald
Hallo Sven,
hier eine abgespeckte Variante aus meinem Hausgebrauch. Viel Spass beim Basteln ;-))

Sub Sperrlagermonat()
'kopiert relevante Daten in neue Datei, löscht alte Daten
Info = MsgBox("Es werden die ersten 300 Zeilen in einer neuen Datei gespeichert und alte Daten gelöscht!", vbOKCancel)
If Info = vbCancel Then
Exit Sub
End If
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Range("A1:D300,F1:F300,G1:G300,H1:H300,I1:I300,J1:J300").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
True, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Columns("A:I").AutoFit
Range("C26").Select 'in dieser Zelle steht ein Datum
ChDir "C:\Eigene Dateien\Zusammenfassung 2004"
ActiveWorkbook.SaveAs Filename:= _
"MC:\Eigene Dateien\Zusammenfassung 2004\Sperrlagererfassung_" & Format(ActiveCell, "mm") & "_" & Format(ActiveCell, "yy") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWindow.Close
Sheets("Smart").Range("D2:AH74").ClearContents
With Sheets("Erfassung")
.Range("D26:E300,H26:H300").ClearContents
.Range("D26:E300,H26:H300").ClearComments
.Range("C26:C300").ClearContents
.Range("C26").Select
End With
Application.ScreenUpdating = True
MsgBox " Jetzt noch diese Datei mit neuem Monatsnamen abspeichern....fertich"
End Sub

Gruß
Harald
Anzeige
AW: Per Makro neue Mappe erstellen und speichern
Sven
Es soll auch automatisch ein Dateiname vergeben werden. Dieser wird schon vorher generiert und steht in einer Zelle in der ersten, schon geöffneten Datei.
AW: Per Makro neue Mappe erstellen und speichern
Harald
Hallo Sven,
hab dir die Stelle rauskopiert. Hier passiert Folgendes:
Er aktiviert in der neuen Mappe die Zelle C26 (Bsp. 05.12.04). Dort steht ein Datum aus dem Monat
Dann speichert er (.Saveas Filename:=...) die neue Datei unter dem Namen Erfassung_12_04.xls wobei die 12 und die 04 aus Zelle C26 stammen.
Vorsicht. In dem zuerst geschickten Code sind in diesem Bereich 2 Tippfehler, die hab ich rausgenommen.
Du musst natürlich die Ordnerstruktur anpassen. Eventuell kopierst Du noch die Zelle mit dem neuen Dateinamen auch in die neue Datei und statt _" & Format(ActiveCell, "mm") & "_" & Format(ActiveCell, "yy")wäre dann nur die Zelle anzugeben, in der der neue Name steht.
Range("C26").Select 'in dieser Zelle steht ein Datum
ChDir "C:\Eigene Dateien\Zusammenfassung 2004"
ActiveWorkbook.SaveAs Filename:= _
"C:\Eigene Dateien\Zusammenfassung 2004\Erfassung_" & Format(ActiveCell, "mm") & "_" & Format(ActiveCell, "yy") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWindow.Close
Gruß
Harald

Anzeige
Tipp
21.01.2005 09:31:45
Harald
Sven,
bevor dich mein Code erschlägt ;-))
Zeichne deinen Vorgang mit dem Makrorekorder auf und wenn die Namensvergabe dann nicht nach dem gezeigten Muster funzen sollte, kannste den Code zwecks Ausbesserung hier reinkopieren.
Gruß
Harald
AW: Tipp
Sven
Soweit funktioniert das Ganze. Aber, in der neuen Datei mag ich das Datum in Zelle C26 nicht stehen haben. Geht das auch, dass das Datum von der Mappe übernommen wird?
AW: Tipp
21.01.2005 11:50:52
Harald
Klar geht das.
an den Anfang des Codes (auf alle Fälle vor workbooks.add), einfach sowas wie
Datum = range(da wo der variable Teil des neuen Workbooknamen steht)
und dann unten bei Saveas ..."& Datum & "... in den Code eintragen.
Gruß
harald
Anzeige
AW: Tipp
Sven
Vielen Dank für die Hilfe. Klappt alles prima. Nur ein kleiner Schönheitsfehler.
Das Ganze wird als Textdatei abgespeichert. Dabei frägt Excel ja immer noch ein 2. Mal nach der Speicherung der Text-Datei. Ich kann dann zwar einfach auf "Nein" klicken und fertig. Gespeichert ist sie ja schon. Wenn diese Meldung nicht mehr käme, waäre es perfekt. Wie gesagt, nur ein Schönheitsfehler.
Gruß Sven
AW: Tipp
21.01.2005 13:18:08
Harald
Versuch mal das
Application.DisplayAlerts = False
vor Saveas...
und am Ende der Sub wieder auf =true stellen
Gruß
Harald

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige