Hola, que tal.
Un ejemplo de esta macro es el siguiente y funciona:
Código:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim iReply As Integer
If SaveAsUI = True Then
iReply = MsgBox("Sorry, you are not allowed to save this Workbook as another name. " _
& "Do you wish to save this workbook.", vbQuestion + vbOKCancel)
Cancel = (iReply = vbCancel)
If Cancel = False Then Me.Save
Cancel = True
End If
End Sub Revisa que la variable SaveAsUI no la tengas definidas más de una vez. Ten en cuenta que es Private.Ya nos contarás.