Ok, I changed my code to what you suggested and it works fine... still not sure why the GoTo is such a bad idea, but I guess yours is a little easier to read. I'm still having the problem of the message box not popping up though.
The problem I'm having is that sometimes people change the name of a project in essbase, so when I have excel read down the list of project names I typed in, they won't match up and excel will just load a ton of numbers that make no sense. It will also shift all the cells down one row for some reason. So A84 normally will be empty but if someone changes the project name and essbase pulls the wrong data, everything will shift down one row and A84 will then have a value. It will actually say 'Expense. That's why I tried using this code to alert the user of the error.
If Worksheets("expense").Cells(84, 1) = 1 Then
MsgBox projectname & "has errored during the process, it will need to be done manually. Make sure the project name is correct in the template. The process will now skip to the next project."
It won't throw the error though and just continues on like nothing is wrong. I've tried If "A84" = 1 Then... and also If "A84" = "'Expense" but nothing will make the msgbox trip. Any ideas?