Clever-Excel-Forum

Normale Version: VBA Makro-Workbook ohne Makros speichern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo wertes Forum,

ich habe da mal wieder einen Codeschnipsel, der nicht funktioniert, wie er soll. Und ich weiß nicht warum...
Ziel des Makros ist es, das Workbook mit gerade darin laufendem Makro als .xlsx ohne Makros zu speichern und die alte .xlsm zu löschen, ohne dass es eine Nachfrage gibt, ob das auch so richtig ist.

Ich habe dazu im Internet eine Code gefunden (leider weiß ich nicht mehr wo...), der macht was er soll, aber leider immer nachfragt, ob ich die Datei ohne Makros speichern möchte:
Code:
Private Sub D_Speichern()

Stop    '*** funktioniert Speichern ohne Rückfrage?****
Application.DisplayAlerts = False

With ThisWorkbook
    wksTWSteuerung.Delete
   
    .Saved = True
    .ChangeFileAccess xlReadOnly
    Kill .FullName
   
'    ActiveWorkbook.SaveAs Filename:=strPfad & "\" & strBuchungX, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    .SaveAs Filename:=strPfad & "\" & strBuchungX, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Stop    '*** funktioniert Speichern ohne Rückfrage?****

    Application.DisplayAlerts = True
   
    .Saved = True
    If .Parent.Workbooks.Count > 1 Then
        .Close
    Else
        .Parent.Quit
    End If
End With

End Sub

Was muss ich ändern, damit ich die Nachfrage loswerde?

Vielen Dank für Eure Hilfe,
Lutz
Hallo,

wenn ich das richtig verstanden habe, ist das Makro dann aber weg.
VBA<> Trial & Error

Studiere ein gutes VBA-Handbuch
Hallo

ich habe mich vor kurzem mit dem Problem beschäftigt, weiss nicht ob snb eine Lösung kennt??
Das Problem ist, wenn du das Makro Modul löschst, weil du die Datei mit Modul nicht als xlsx speichern kannst!
Hört im selben Augenblick der Code auf!  Die Befehle dahinter werden nicht mehr ausgeführt!

Alternative:  erstelle dir zum Speichern eine seperate Datei wo das Makro drin ist, diel aber nicht gelöscht wird.
Bei einer xlsx Vorlage Datei kannst du die Makro Datei mit einem Button starten, wo das Makro extern verknüpft ist.
Den Buttzon kannst du dann einfach löschen.  Damit speicherst du dann die gewünschte Datei als xlsx Datei.  


mfg Gast 123
Code:
Sub M_snb()
  c00 = ThisWorkbook.FullName
  Application.DisplayAlerts = False
  ThisWorkbook.SaveAs Application.DefaultFilePath & "__sample.xlsx", 51
  Kill c00
  Thisworkbook.Close 0
End Sub