1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,
habe folgenden Code der unter Excel 2003 läuft nur eben nicht mehr unter Excel 2010, es werden zwar die Tabellen kopiert aber die Makros werden nicht mit kopiert, ich hoffe doch das mir hier jemand helfen kann.

Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal Pfad As String) As Long
Sub Kopieren()

Dim Wiederholungen As Integer, Ende As Integer, Quelldatei As String, i As Integer, _
Neuer_Dateiname

ActiveSheet.Unprotect Password:="sfw"
Application.ScreenUpdating = False

'Speicherort

Dim lw_pfad As String
lw_pfad = ActiveSheet.Range("K1").Value
lw_pfad = InputBox(Range("f1") & " gebe hier bitte das Laufwerk und den Pfad an, wo die Kassierliste gespeichert werden soll ( z.B. C:\Test\06 ). " & Chr(13) & "Der Dateiname wird Automatisch erstellt.", "Datei speichern unter...", lw_pfad)
If lw_pfad = "" Then
MsgBox "Der Pfad wurde nicht angelegt, da Sie [Abbrechen] gedrückt oder nichts eingegeben haben.", , "Abbruch"
Exit Sub
Else
If Right(lw_pfad, 1) <> "\" Then lw_pfad = lw_pfad & "\"
ActiveSheet.Range("K1").Value = lw_pfad

'Ordner anlegen

If Dir(Range("K1"), vbDirectory) = "" Then
MakeSureDirectoryPathExists (Range("K1"))
MsgBox "Ordner wurde angelegt!"

End If

'Datei kopieren


Quelldatei = ActiveWorkbook.name
Workbooks.Add
For Wiederholungen = 1 To 3
Sheets(Wiederholungen).name = Workbooks(Quelldatei).Sheets(Wiederholungen).name
Workbooks(Quelldatei).Sheets(Wiederholungen).Cells.Copy
Sheets(Wiederholungen).Range("A1").PasteSpecial Paste:=xlPasteValues
Sheets(Wiederholungen).Range("A1").PasteSpecial Paste:=xlPasteFormats
Next

Diese zeile habe ich schon geändert:
ActiveWorkbook.SaveAs lw_pfad & ActiveSheet.Range("l2"), FileFormat:=xlOpenXMLWorkbookMacroEnabled

MsgBox Range("f1") & Chr(13) & "Die Datei wurde unter " & lw_pfad & ActiveSheet.Range("l2").Value & ".xlsm gespeichert.", , "OK"
End If

'ActiveWorkbook.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = False
End Sub


grüße
speedy

1 Antwort

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

was steht denn in I2? Wird die Mappe mit der Endung .xlsx abgespeichert? Versuche es doch mal so:
ActiveWorkbook.SaveAs lw_pfad & ActiveSheet.Range("l2") & ".xlsm"

Bis später,
Karin
...