Office: (Office 365) Excel per Button Speichern und Schliessen und "X - Button" deaktivieren

Helfe beim Thema Excel per Button Speichern und Schliessen und "X - Button" deaktivieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Morgen zusammen, ich suche nach einem VBA-Code (unter Office 365), um das Schließen einer Excel-Datei über das "Rote X" oben rechts zum Einen zu... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von schwaelbchen, 15. Dezember 2024.

  1. Excel per Button Speichern und Schliessen und "X - Button" deaktivieren


    Guten Morgen zusammen,

    ich suche nach einem VBA-Code (unter Office 365), um das Schließen einer Excel-Datei über das "Rote X" oben rechts zum Einen zu verhindern und statt dessen zum Anderen den das Speicher und Schliessen über einen Button zu ermöglichen.

    Meine Versuche dies mit dem Code der nachfolgenden Seite zu vollziehen hat leider nicht funktioniert.

    Per Makro- VBA Excel Schließen - Supportnet Forum

    Danke für Deine Antwort im Voraus.
    Jens
     
    schwaelbchen, 15. Dezember 2024
    #1
  2. RPP63_neu
    RPP63_neu Erfahrener User
    Moin!
    Mal Klartext, was willst Du wirklich?
    Verhindern, dass eine Datei ohne zu speichern geschlossen wird?
    Dann prüfe die .Saved-Eigenschaft der Datei.

    Gruß Ralf
     
    RPP63_neu, 15. Dezember 2024
    #2
  3. Guten Morgen Ralf,

    ja genau das ist der Plan.
    Das Speichern soll beim Klick auf den Button erfolgen bevor die Datei geschlossen wird.
     
    schwaelbchen, 15. Dezember 2024
    #3
  4. DL_
    DL_ PowerQuery Guru

    Excel per Button Speichern und Schliessen und "X - Button" deaktivieren

    Moin Jens

    Platt gesagt: Du willst einen Knopf durch einen anderen Knopf ersetzen.
    Macht Sinn.
     
  5. Hier mal der Button-Code:

    Sub SpeichernUndSchliessen()
    AllowClose = True

    Dim wb As Workbook
    Dim wbCount As Integer

    ' Speichere die aktuelle Arbeitsmappe
    ThisWorkbook.Save

    ' Anzahl der geöffneten Arbeitsmappen zählen
    wbCount = Application.Workbooks.Count

    ' Schließe die aktuelle Arbeitsmappe
    Set wb = ThisWorkbook
    wb.Close SaveChanges:=True

    ' Überprüfe, ob andere Arbeitsmappen geöffnet sind
    If wbCount = 1 Then
    Application.Quit
    End If
    End Sub



    Und hier der Code für die Arbeitsmappe:
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Not AllowClose Then
    MsgBox "Das Schließen dieser Datei ist nicht erlaubt.", vbCritical
    Cancel = True
    End If
     
    schwaelbchen, 15. Dezember 2024
    #5
  6. Beim Klick auf's "X" kann man einfach Speichern = NEIN auswählen ... und genau DAS will ich NICHT.
     
    schwaelbchen, 15. Dezember 2024
    #6
  7. RPP63_neu
    RPP63_neu Erfahrener User
    Du hast meine Antwort gelesen (und verstanden)?
    Jedenfalls sehe ich keinen Versuch.

    Gruß Ralf
     
    RPP63_neu, 15. Dezember 2024
    #7
  8. DL_
    DL_ PowerQuery Guru

    Excel per Button Speichern und Schliessen und "X - Button" deaktivieren

    Liegt die Datei auf Onedrive oder Sharepoint?
    Dann einfach "Automatisch speichern" aktivieren.
     
  9. Nein die Datei liegt lokal.

    Oh das waren die Codes aus einer alten Arbeitsmappe.
    Hier nun die richtigen:

    Hier mal der Button-Code:
    Sub SpeichernUndSchliessen()
    Dim Bozu As Boolean
    Dim ws As Worksheet
    Bozu = True ' Hier auf True setzen, wenn das Schließen erlaubt ist

    ' Überprüfe, ob die Bedingung für Bozu erfüllt ist
    If Bozu = True Then
    ' Speichern der aktuellen Datei
    ThisWorkbook.Save

    ' Schließen der aktuellen Arbeitsmappe ohne weitere Änderungen zu speichern
    ThisWorkbook.Close SaveChanges:=False

    ' Überprüfen, ob noch andere Arbeitsmappen in dieser Excel-Instanz geöffnet sind
    If Application.Workbooks.Count = 0 Then
    ' Wenn keine weiteren Arbeitsmappen geöffnet sind, Excel schließen
    Application.Quit
    End If
    Else
    ' Optional: Wenn Bozu = False, zeige eine Nachricht, dass Schließen nicht möglich ist
    MsgBox "Das Schließen der Datei ist momentan nicht möglich, da die Bedingungen für 'Bozu' nicht erfüllt sind.", vbCritical, "Fehler"
    End If
    End Sub



    Und hier der Code für die Arbeitsmappe:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Dim Bozu As Boolean
    Dim ws As Worksheet
    Bozu = False

    ' Überprüfe, ob die Bedingung für Bozu erfüllt ist
    If Bozu = False Then
    ' Verhindert das Schließen der Datei über das rote X oben rechts
    Cancel = True
    MsgBox "Beenden nur per Button 'Speichern und schließen' möglich.", _
    vbCritical, "Schließen der Datei hier NICHT möglich!"
    End If
    End Sub


    Modul 1
    Option Explicit
    Public Bozu As Boolean

    Sub schliessen()
    Bozu = True
    ThisWorkbook.Close
    End Sub
     
    schwaelbchen, 15. Dezember 2024
    #9
  10. Beim Klick auf den Button erscheint die MsgBox der Arbeitsmappe.
     
    schwaelbchen, 15. Dezember 2024
    #10
  11. RPP63_neu
    RPP63_neu Erfahrener User
    Du brauchst doch lediglich (als alleinigen Code)
    Code:
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    With ThisWorkbook
        If Not .Saved Then .Save
    End With
    End Sub
    Dass hier eine große Gefahr besteht, auch völlig unnötige Änderungen ohne Nachfrage zu speichern, wirst Du ja wissen.
    Insofern halte ich dies für eine Schnapsidee.
    "Unmündige" Benutzer sollte man schulen, nicht gängeln!

    Gruß Ralf
     
    RPP63_neu, 15. Dezember 2024
    #11
  12. Ok das ist natürlich auch eine Möglichkeit, DANKE dafür.
    Die Datei wird nun gespeichert und geschlossen.

    Woran kann es aber noch liegen, dass sich nach dem Schliessen der Datei mit:

    If Application.Workbooks.Count = 0 Then
    Application.Quit

    ... Excel (ohne leere Arbeitsmappe) wieder öffnet, obwohl keine andere Arbeitsmappe geöffnet ist ?
     
    schwaelbchen, 15. Dezember 2024
    #12
  13. Excel per Button Speichern und Schliessen und "X - Button" deaktivieren

    Hat es ggf. etwas damit zu tun, weil ich unter "Öffnen" nachfolgendes stehen habe ?


    Private Sub Workbook_Open()

    Worksheets("Eingabe").Activate
    With ThisWorkbook
    Application.DisplayFullScreen = False
    ActiveWindow.DisplayHeadings = True
    ActiveWindow.DisplayWorkbookTabs = False
    Application.DisplayFormulaBar = False
    End With
    ActiveWindow.WindowState = xlNormal
    With ActiveWindow
    .Top = 10
    .Left = 10

    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)"
    Application.DisplayFormulaBar = False 'Formelleiste / Bearbeitungsleiste NICHT anzeigen
     
    schwaelbchen, 15. Dezember 2024
    #13
Thema:

Excel per Button Speichern und Schliessen und "X - Button" deaktivieren

Die Seite wird geladen...
  1. Excel per Button Speichern und Schliessen und "X - Button" deaktivieren - Similar Threads - Excel Button Speichern

  2. Excel VBA mit Toggle Button Zeile einfärben

    in Microsoft Excel Hilfe
    Excel VBA mit Toggle Button Zeile einfärben: Hallo, ich habe ein Makro für einen activeX Toggle Button. Wenn dieser nicht betätigt ist, sollen bestimme Zellen in einer Reihe ihre Hintergrundfarbe ( hexal #FFFFFF ; RGB 255 255 255)...
  3. STRG+F via Button mit VBA

    in Microsoft Excel Hilfe
    STRG+F via Button mit VBA: Moin, ich habe ein Problem, welches ich nicht im Stande bin alleine zu lösen. Ich habe eine Excel-Tabelle, wo Stellplätze von 3 Kühlhäusern aufgeführt sind. Die Excel wird auf einem Panel-PC...
  4. Wert in anderer Zelle autom. Speichern

    in Microsoft Excel Hilfe
    Wert in anderer Zelle autom. Speichern: Moin, Folgendes Problem: Habe eine Arbeitsmappe mit Drehfeldern (gehen immer um 1 hoch/runter). Möchte gerne die Werte, möglichst beim Speichern, automatisch in die entsprechenden Felder...
  5. aktuelles Tabellenblatt als pdf speichern

    in Microsoft Excel Hilfe
    aktuelles Tabellenblatt als pdf speichern: Hallo zusammen Ich möchte gerne mit Hilfe eines Buttons das jeweils aktuelle Tabellenblatt, auf dem der Button angebracht ist, als pdf speichern. Dabei soll der Speicherort immer neu gewählt...
  6. Excel VBA Problem create button

    in Microsoft Excel Hilfe
    Excel VBA Problem create button: Hallo liebe Community, ich hoffe ihr könnt helfen, bin am verzweifeln und kann den Fehler einfach nicht finden. Wir haben eine aufwendig gestallte Excel Liste, wo wir unter anderem Button...
  7. über Button speichern ohne weitere Abfrage

    in Microsoft Excel Hilfe
    über Button speichern ohne weitere Abfrage: Hallo Mitstreiter Ich habe folgendes kleine Makro probiert, Private Sub CommandButton1_Click() Dim i As Long With ThisWorkbook.ActiveSheet pfad = .Range("B3") Datei = .Range("B2")...
  8. Excel Button zum speichern in csv

    in Microsoft Excel Hilfe
    Excel Button zum speichern in csv: Ich habe eine Excel-Datei, in der ich im Tabellenblatt 1 einen Button eingefügt, der mir in beim drücken aus der .xlsb-Datei das Tabellenblatt 3 ohne weitere Fragen als csv-Datei abspeichern soll....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden