То, что у вас определена строка "Goto", не означает, что она будет выполняться только при вызовеДобавьте Exit Sub
до того, как вы определите блок ошибок, чтобы код потом завершился.
Скорее всего, вы захотите что-то вроде:
Function aaaaaa() As Boolean
If [SOMETHING] Then
GoTo Error1
Else
aaaaaa = True
End If
Exit Function
Error1:
MsgBox "hi guys"
Exit Function
End Function