Microsoft Excel

Herbers Excel/VBA-Archiv

xlsm als xlsx speichern VBA


Betrifft: xlsm als xlsx speichern VBA
von: Tobi
Geschrieben am: 20.04.2019 16:02:59

Hallo Zusammen,

diese Woche hat mir Alexandra freundlicherweise geholfen und mir den Code mitgeteilt, mit dem man eine UserForm beim schließen in eine xlsx abspeichern kann.

Der Code funktioniert zwar, allerdings erscheint jetzt auch eine Speicherabfrage, wenn ich von der UserForm 1 mit dem Commandbutton (Liste) auf die UserForm 2 wechsle und auch wenn ich dann wieder zurück auf die UserForm 1 gehe.

Eventuell liegt es daran, dass ich die UserForm 1 mit "Unload Me" schließe und nicht mit UserForm1.Hide. Denn bei UserForm1.Hide erscheint diese Abfrage nicht.

Leider kann ich die UserForm1 nicht mit "Hide" verstecken, weil dann die ListBox in UserForm 1 nicht mit sortiert wird.

Gibt es eine Lösung?

Der Code zum Abspeichern als xlsx:

Private Sub UserForm_Terminate()
Dim sichdatei As String
Dim pfad As String
Sheets("Tabelle1").Copy
sichdatei = "Sicherungskopie_Datenbank.xlsx"
pfad = ThisWorkbook.Path
ActiveWorkbook.SaveAs pfad & "\" & sichdatei
ActiveWorkbook.Close savechanges:=True
End Sub
Die xlsm-Datei unten angehängt.

Ich danke vielmals, falls jemand sich der Sache annimmt.

Liebe Grüße Tobi

http://www.herber.de/bbs/user/129288.xlsm

  

Betrifft: AW: xlsm als xlsx speichern VBA
von: cysu11
Geschrieben am: 20.04.2019 17:52:31

Hi Tobi,

dann mach doch das auslösen des Makros mit ein Button "Sicherungsdatei erstellen".
Wenn du unbedingt mit der Userform haben willst, dann zeig mal deine Userformen damit wir auch verstehen, wie die Zusammenhänge sind!

LG
Alexandra


  

Betrifft: AW: xlsm als xlsx speichern VBA
von: Tobi
Geschrieben am: 20.04.2019 19:01:27

Hallo Alexandra,

wie bereits in meinem ersten Beitrag geschrieben, die UserForm ist angehängt.


  

Betrifft: AW: xlsm als xlsx speichern VBA
von: Tobi
Geschrieben am: 20.04.2019 19:02:37

Hallo Alexandra,

die UserForm hatte ich bereits in meinem ersten Beitrag schon angehängt.


  

Betrifft: AW: xlsm als xlsx speichern VBA
von: Tobi
Geschrieben am: 20.04.2019 19:12:22

Hallo Alexandra,

Du hast aber Recht, ich erstelle einen separaten Button zum Speichern. Das war eine gute Idee, an die ich gar nicht dachte.

Ich werde das so machen, vielen Dank.

Liebe Grüße Tobi


  

Betrifft: AW: xlsm als xlsx speichern VBA
von: Nepumuk
Geschrieben am: 20.04.2019 19:22:39

Hallo Tobi,

warum nicht einfach so:

Private Sub UF1_Liste_Click()
    If Cint(TextBox1.Text) > Tabelle2.Cells(2, 53) Then
        MsgBox "Bitte speichern Sie zuerst den neuen Datensatz " & _
            "oder wählen Sie einen Datensatz aus der Liste aus!"
    Else
        Hide
        ' Userform2.UF2_Lb1.ListCount
        Call Userform2.UF2_Lb1_Zuweisen
        Userform2.Show
        Call UserForm_Initialize
    End If
End Sub


Private Sub UserForm_Terminate()
    Set TextBoxClassCollection = Nothing
    Set CheckBoxClassCollection = Nothing
    Application.DisplayAlerts = False
    Worksheets("Tabelle1").Copy
    With ActiveWorkbook
        .SaveAs Filename:=ThisWorkbook.Path & _
            "\Sicherungskopie_Datenbank.xlsx", FileFormat:=xlOpenXMLWorkbook
        .Close SaveChanges:=False
    End With
    Application.DisplayAlerts = True
End Sub

Gruß
Nepumuk


  

Betrifft: AW: xlsm als xlsx speichern VBA
von: Tobi
Geschrieben am: 20.04.2019 19:30:32

Hallo Nepumuk,

das ist ein super Idee und funktioniert ebenfalls prima. Ich danke Dir und Alexandra sehr für Eure Hilfe.

Liebe Grüße und schöne Ostern

Tobi