Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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
Inhaltsverzeichnis

Excel, Sheet immer mit EINER Sub beenden

Excel, Sheet immer mit EINER Sub beenden
Jaffi
Hallo Forum,
nun habe ich meine App nachgebaut und es funzt auch weider alles so wie es sollte *freu*
Aber bevor ich mir wieder was kaputt mache frage ich mal wieder die Profies. Mit einem X Button _
starte ich eine Sub, welche mir die entsprechenden Sheets säubert und die wichtigen Speichert. _ Diese Sub sieht folgendermassen aus:

Option Explicit
Sub Beenden()
Set wksSheet = Worksheets("Aufnahme")
If bEingabe = True Then
If MsgBox(" " & vbNewLine & "                      Die erfassten Bestände gehen dadurch  _
verloren !", vbYesNo, "            Möchten Sie das Programm wirklich beenden?") = vbYes Then
With wksSheet
.Unprotect Password:="test"
If .Cells(.Rows.Count, 1).End(xlUp).Row >= 5 Then
.Range(.Cells(5, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 6)).ClearContents
.Protect Password:="test"
ThisWorkbook.Save
Application.Quit
Else
ThisWorkbook.Save
Application.Quit
End If
End With
Else
Exit Sub
End If
Else
If MsgBox("                      Möchten Sie das Programm wirklich beenden?", vbYesNo, "  _
_
_
Achtung !") = vbYes Then
With wksSheet
.Unprotect Password:="test"
.Range(.Cells(5, 1), .Cells(.Cells(.Rows.Count, 5).End(xlUp).Row + 1, 6)).ClearContents
.Protect Password:="test"
ThisWorkbook.Save
Application.Quit
End With
Else
Exit Sub
End If
End If
End Sub

Nun möchte ich, das man NUR mit dieser Sub Excel schliesst. Wir würdet Ihr das umsetzen?
Hatte an:
Private Sub Worbook_BeforeClose
call Beenden
End Sub

Gedacht, aber das kann glaub ich nicht gehen, denn wenn man EXCEL beendet, wird ja Application.Quit
aufgerufen und dann wieder die Sub Beenden oder? Kling nach einer Endlosschleife.. :/
Also wie gesagt, wie würden die Profis unter euch das umsetzen? Will mir nicht wieder die Tabelle zerschiessen und frage deshalb lieber hier ;)
Tausend Dank und viele Grüsse!!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Excel, Sheet immer mit EINER Sub beenden
31.07.2009 18:40:29
Original
Hi,
Option Explicit
Public Wirklich_zu As Boolean
Sub Beenden()
''Variable sollten immer deklariert werden!
Dim wksSheet As Worksheet
Dim bEingabe As Boolean
''-----------------------------------------
Set wksSheet = Worksheets("Aufnahme")
If bEingabe = True Then
If MsgBox(" " & vbNewLine & "Die erfassten Bestände gehen dadurch verloren !", vbYesNo, "Möchten Sie das Programm wirklich beenden?") = vbYes Then
With wksSheet
.Unprotect Password:="test"
If .Cells(.Rows.Count, 1).End(xlUp).Row >= 5 Then
.Range(.Cells(5, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 6)).ClearContents
.Protect Password:="test"
Call Mach_zu
Else
Call Mach_zu
End If
End With
Else
Exit Sub
End If
Else
If MsgBox("Möchten Sie das Programm wirklich beenden?", vbYesNo, "Achtung !") = vbYes Then
With wksSheet
.Unprotect Password:="test"
.Range(.Cells(5, 1), .Cells(.Cells(.Rows.Count, 5).End(xlUp).Row + 1, 6)).ClearContents
.Protect Password:="test"
Call Mach_zu
End With
Else
Exit Sub
End If
End If
End Sub
Private Sub Mach_zu()
Wirklich_zu = True
ThisWorkbook.Save
Application.Quit
End Sub
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = Not Wirklich_zu
End Sub
mfg Kurt
Anzeige
AW: Excel, Sheet immer mit EINER Sub beenden
03.08.2009 13:17:08
Jaffi
Hallo Kurt,
vielen Dank für Deine Hilfe
WksSheet und bEingabe deklariere ich bereits global in einem anderen Sheet.
Diese Zeilen könnten also auch weg bleiben.
ABER setze ich die Prozeduren so ein, ist ein schliessen des Sheets über das Kreuz (bzw. roter Punkt, da ich an einem Mac sitze ;o)) garnicht mehr möglich. Beende ich einfach Excel, stürtzt es mir wie gehabt ab :(
Ich kann also nur noch mit dem Button die Prozedure sauber abarbeiten lassen ;o)
Eine Frage noch, wozu ist die Boolsche "Wirklich_zu eigentlich" gedacht? Die ist doch immer True wenn sie nicht anders gesetzt wird oder? Was hat sie dann für eine Funktion?
Menno was ist das nur, liegt das tatsächlich an der Mac:Version? Kann doch irgendwie nicht sein.
Muss doch zu machen sein, dem User ein ordentliches Speichern abzuringen :(
Noch irgendjemand eine Idee?
Tausend Dank
J.
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige