View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Patrick Molloy[_12_] Patrick Molloy[_12_] is offline
external usenet poster
 
Posts: 3
Default Using ExitSub to stop a Save

you shouldn't be calling the save as method again as
you're already in it. Setting Cancel to True stops
further processing of the method. If cancel is set to
fale, then if its a SaveAs call, then application's
GetSaveFileName window will open normally - you don't
cvall it again.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _
As Boolean, Cancel AsBoolean)
Dim Blanks As Range
Dim SumBlanks As Double

Set Blanks = Range("aj63:aj263")
SumBlanks = Application.Sum(Blanks)
If SumBlanks 0 Then
MsgBox "There appears _
to be some missing or invalid data."
Cancel = True
End If
End Sub

Patrick Molloy
Microsoft Excel MVP


-----Original Message-----

Apologies for posting again:

Ive tried the following technique for stopping a save

when there are
blank cells. Unfortunately due to the nature of the data

Iam
requesting, it is not appropriate for me to use the Exit

Sub if it has
not been correctly filled in.

Therefore Iam using much the same but as a "prompt" on

saving that
there are gaps in the data. It would appear though that

Iam getting the
msgbox twice.

Presumably this is because after Cancel=True Iam calling

the SaveAs
box, any ideas how I might get round this?


Code below:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As

Boolean, Cancel As
Boolean)
Dim Blanks As Range
Dim SumBlanks As Double

Set Blanks = Range("aj63:aj263")
SumBlanks = Application.Sum(Blanks)
If SumBlanks 0 Then
MsgBox "There appears to be some missing or invalid

data."
Cancel = True
'Exit Sub
End If
Application.Dialogs(xlDialogSaveAs).Show
End Sub


Many thanks,
Eddie


------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~View and post usenet messages directly from

http://www.ExcelForum.com/

~~Now Available: Financial Statements.xls, a step by

step guide to creating financial statements
.