Anne Troy
asked on
On Error Excel 2007 VBA: Getting it in the right place
I want the Msgbox to show ONLY if file can't save or doesn't have values in the 3 cells. I never seem to be able to figure out where to put it so it does NOT pop up always.
Sub SaveBook()
'Saves the workbook
If Range("checksave").Value = 3 Then
MsgBox ("Created")
ActiveWorkbook.SaveAs Filename:=Range("path").Text & Range("filename").Text
On Error GoTo Err
::::My code here
Else: MsgBox ("You must enter a MID and Customer ID and Business Name before saving.")
Exit Sub
End If
Err:
MsgBox ("You must enter a MID and Customer ID and Business Name before saving.")
Worksheets("Dashboard").Shapes("Rounded Rectangle 50").Delete
End Sub
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Here's what I'm using, which appears to work. :)
Sub SaveBook()
'Saves the workbook
If Range("checksave").Value = 3 Then
MsgBox ("Created")
ActiveWorkbook.SaveAs Filename:=Range("path").Text & Range("filename").Text
On Error GoTo Err
:::My code here
Else: MsgBox ("You must enter a MID and Customer ID and Business Name before saving.")
Worksheets("Dashboard").Shapes("Rounded Rectangle 50").Delete
End If
Exit Sub
End Sub
It looks like you removed the label: Err. This is not good. I'm not sure what the behavior will be when an error is encountered, but I doubt it will be what you want.
I suspect if you compiled the VBA project. It would tell you that the label could not be found. I highly recommend using the compile feature (Debug / Compile VBAProject). It helps discover errors (like this one) you might otherwise miss.
I suspect if you compiled the VBA project. It would tell you that the label could not be found. I highly recommend using the compile feature (Debug / Compile VBAProject). It helps discover errors (like this one) you might otherwise miss.
ASKER
Thanks, guys! I'll check tomorrow at work. Happy Holidays!