View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Why doesn't it work?

What do you mean by doesn't work?

is M16 M15 in either Sheet1 or Sheet2

Maybe you want something like this:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim WS As Worksheet
Dim WSs As Variant
Dim Ndx As Long

WSs = Array("Sheet1", "Sheet2")
For Ndx = LBound(WSs) To UBound(WSs)
Set WS = Worksheets(WSs(Ndx))
With WS
If .[M15] < .[M16] Then
MsgBox "Target cannot be greater than Chart Max"
Cancel = True
Application.Goto WS.[M16]
Exit Sub
End If
End With
Next Ndx
End Sub

--
Regards,
Tom Ogilvy

"Phil Hageman" wrote in message
...
I have this code in ThisWorkbook (it has to be there). But
I can't figure why it doesn't work. Can someone help?


Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim WS As Worksheet
Dim WSs As Variant
Dim Ndx As Long

WSs = Array("Sheet1", "Sheet2")
For Ndx = LBound(WSs) To UBound(WSs)
Set WS = Worksheets(WSs(Ndx))
With WS
If .[M15] < .[M16] Then
MsgBox "Target cannot be greater than Chart Max"
Cancel = True
End If
End With
Next Ndx