Com podeu identificar i gestionar tots els possibles errors a Excel 2016? Sovint, no pots. Afortunadament, VBA ofereix una altra manera de fer front a aquests molestos errors.
Revisant el procediment EnterSquareRoot
Examineu el codi següent. La rutina utilitza una declaració d'error on tots els propòsits per atrapar tots els errors i després comprovar si l'InputBox s'ha cancel·lat.
Sub EnterSquareRoot5()
Dim Num com a variant
Atenuar el missatge com a cadena
' Configura la gestió d'errors
En cas d'error GoTo BadEntry
' Demanar un valor
Num = InputBox("Introdueix un valor")
' Sortir si es cancel·la
Si Num = "" Aleshores Surt Sub
' Insereix l'arrel quadrada
ActiveCell.Value = Sqr(Num)
Sortir de Sub
BadEntry:
Msg = "S'ha produït un error". & vbNewLine & vbNewLine
Msg = Msg & "Assegureu-vos que s'ha seleccionat un interval",
Msg = Msg & "el full no està protegit",
Msg = Msg & "i introduïu un valor no negatiu".
MsgBox Msg, vbCritical
End Sub
Aquesta rutina atrapa qualsevol tipus d'error d'execució. Després de detectar un error d'execució, el procediment EnterSquareRoot revisat mostra aquest quadre de missatge. Aquest quadre de missatge descriu les causes més probables de l'error.

Un error d'execució en el procediment genera aquest missatge d'error semiútil.
Encès Error no funciona?
Si una declaració d'error no funciona com s'anuncia, heu de canviar una de les vostres opcions de configuració:
Activa el VBE.
Trieu l'ordre Eines → Opcions.
Feu clic a la pestanya General del quadre de diàleg Opcions.
Assegureu-vos que l'opció Pausa en tots els errors estigui desactivada.
Si se selecciona aquesta configuració, l'Excel bàsicament ignora qualsevol declaració On Error. Normalment, voleu mantenir les opcions de captura d'errors configurades a Trenca en errors no gestionats.
Sobre la declaració On Error
L'ús d'una declaració On Error al vostre codi VBA us permet evitar la gestió d'errors integrada d'Excel i utilitzar el vostre propi codi de gestió d'errors. A l'exemple anterior, un error en temps d'execució fa que l'execució de macro salti a la instrucció anomenada BadEntry. Com a resultat, eviteu els missatges d'error poc amigables d'Excel i podeu mostrar el vostre propi missatge a l'usuari.
Tingueu en compte que l'exemple utilitza una instrucció Exit Sub just abans de l'etiqueta BadEntry. Aquesta declaració és necessària perquè no voleu executar el codi de gestió d'errors si no es produeix cap error .