Estuve viendo tu codigo y note que todos tienen razon y ademas de que faltan dos end if tambien al hacer la comparacion debe ser if a "n" or a = "N" then porque de otra manera no funcionara y por lo que vi solo una persona te lo menciono saludos y suerte.
Revise tu codigo y evidentemente te hace falta cerrar bloques q empiezan con if, recuerda que cada de abras un if este debera cerrarse al terminar el bloque con un end if
es decir asi:
if a=empty then
msgbox"ingresa datos",vbinformation,"Error de usuario"
end if
if n=2 then
msgbox"a*n"
end if
para q solo uses un end if alfinal te recomiendo uses "elseif" y quedaria asi
if a=empty then
msgbox"ingresa datos",vbinformation,"Error de usuario"
end if
elseif n=2 then
msgbox"a*n"
end if
cuando usas elseif solo recuerda que al proncipo de la condicion debera haber un if y despues un elseif , prodras usar cuandos elseif quieras y lo cerraras solo un end if
Hola Eric:
Ademas de los errores mencionados, la sentencia
If a = "N" or "n" then
esta mal, deberia ser:
If a="N" or a="n" then
tal vez mejor seria :
If UCase(a)="N" then
Asi si a esta escrito en minuscula o mayuscula, el programa asume la condicion
Saludos
Ximena