BeforeClose event help
I've never been a fan of putting stuff in the workbook_beforeclose event.
If I open the workbook in error (or just don't want to save my changes), are you
going to make me enter stuff into the workbook just so I can close it?
And if I have to enter stuff in the workbook, are you going to make me save the
workbook before I can close it? What happens if I open the workbook and destroy
18 worksheets that are very important. If I try to close it, are you going to
force me to save it this way?
Personally, I'd try to do something else.
I like to add a warning message in a cell based on a formula:
=if(somethingisok,"","Warning--xxx and yyy have to be done first!")
(formatted in big bold red letters)
Then I as a user can see the warning and still be able to close without
saving--or close and save and fix at a later time.
" wrote:
How do I make sure a certain worksheet is completed properly before
closing Excel?
I have this code that I obtained from various postings in this
newsgroup on each worksheet:
-------
Private Sub Worksheet_Deactivate()
Const rngWeek As String = "nrmWWeek"
Const rngTotal As String = "gTotal"
Const rngLast As String = "lastDay"
prevSheet = Me.Name
On Error GoTo stoppit
Application.EnableEvents = False
If Me.Range(rngLast).Value < 0 Then
If Me.Range(rngTotal).Value < Me.Range(rngWeek).Value Then
Response = MsgBox("Please return to the T&T worksheet
and make corrections", _
vbOKOnly, "Total Hours Error")
Worksheets(prevSheet).Select
End If
End If
stoppit:
Application.EnableEvents = True
End Sub
--------
It checks if whether the value in nrmWWeek match the value in gTotal
and if it doesn't the user is prompted to make a corrections and
activates the previous active worksheet (prevSheet is Global). It
only works when the worksheet is deactivated. However, I also want to
prevent them from closing the workbook before making the corrections.
I know I need to insert 'some' code in the "ThisWorkbook" using
Workbook_BeforeClose but I have no idea how.
I attempted to modify the above and inserted it in the BeforeClose
event but failed. The code
Thank you,
--
Dave Peterson
|