View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
OssieMac OssieMac is offline
external usenet poster
 
Posts: 2,510
Default BeforeClose event help

You are right about inserting the before close code in ThisWorkbook. The sub
must be named as follows:-

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'Your code goes here.

End Sub

If the code you are using is the same code for worksheet deactivate and also
workbook close, you can put the code into a module and call the same
procedure from the worksheet deactivate and workbook close. This way, if you
need to modify it it is automatically modified for both. eg the code could
reside in a module under in a procedure named:-

Sub Validate_Entries()

You would then put the following line of code in both the worksheet
deactivate and workbook deactivate procedures:-

Call Validate_Entries

Regards,

OssieMac

" 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,