Bart,
Assuming everything is successful, the file is saved through your last line
of code.
However, you are in the _BeforeSave event and you have not cancelled the
reason that event was called.
So, add a Cancel=True
Also, do you all the SaveAsUI checks at all ?
NickHK
"Bart V" <BartV@discussions.microsoft.com> wrote in message
news:77A25BF5-8193-4275-9D1E-209917DBB8D6@microsoft.com...
> I am using beforesaveas to prompt the save as screen with a pre-defined
name.
> When using the save button everything seems to be functioning ok as I am
> using Cancel = True. -When using the save as function I get the
pre-defined
> name, however after confirming, using the save button, the screen pops up
a
> second time. As this file needs to be sent to end-users I don't want this
to
> happen. What can be done to avoid this? Find below the subroutine.
>
> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
> Cancel As Boolean)
> NameToSave = Sheet15.Cells(5, 2) & " - CDP - " & Sheet15.Cells(3, 2)
&
> " (v" & Year(Date) & Month(Date) & Day(Date) & ")"
> If Sheet15.Cells(3, 2) = "" Then
> Answer = MsgBox("Before being able to save this file you need to
> select a year in the parameter sheet.", Buttons:=48)
> Cancel = True
> Sheet15.Activate
> Exit Sub
> End If
>
> If Sheet15.Cells(5, 2) = "" Then
> Answer = MsgBox("Before being able to save this file you need to
> select a country in the parameter sheet.", Buttons:=48)
> Cancel = True
> Sheet15.Activate
> Exit Sub
> End If
>
> If SaveAsUI = False Then
> If MsgBox("Do you really want to save this Workbook? ", vbYesNo) =
> vbNo Then
> Cancel = True
> Exit Sub
> Else
> Application.Dialogs(xlDialogSaveAs).Show (NameToSave)
> Cancel = True
> Exit Sub
> End If
> Else
> Application.Dialogs(xlDialogSaveAs).Show (NameToSave)
> End If
>
> End Sub
Bookmarks