Gestió d'errors VBA | Guia per al tractament d'errors a Excel VBA

Gestió d'errors d'Excel VBA

A VBA, quan treballem amb codis, ens podem trobar amb molts tipus d’errors diferents i la manera de solucionar aquests errors es coneix com a Gestió d’errors, ara hi pot haver alguns errors que es cometen a la sintaxi que excel·len en si mateix, però el ressalta, però quan hi ha algun error que està fora del rang o alguna cosa que no existeix Excel ens dóna una finestra emergent per al mateix, és important saber quin codi d'error és per a quin error per identificar l'error al codi.

A Excel VBA mentre executem qualsevol conjunt de codis, rebem algun tipus d’error. Alguns d'aquests errors són errors de sintaxi. Alguns són inexecutables. L’error de sintaxi es produeix quan l’usuari el fa ressaltar en color vermell el mateix Excel. Però quan hi ha algun altre tipus d'error en temps d'execució, com tractarem i com superarem això és el que tractarem en aquest article.

A part dels errors de sintaxi, cal gestionar els altres errors en temps d'execució mentre s'executa qualsevol conjunt de codis. En primer lloc, deixeu-me donar un exemple de com es produeix l’altre error d’execució. Mireu el codi següent,

Aquest és un codi de mostra quan s'executa retornarà el que està escrit a la funció msgbox. Però com podem veure que a la segona línia del codi hi ha 4/0 que no és possible en termes matemàtics, de manera que tornarà un error de temps d'execució. Executem el codi anterior i vegem l’error que obtindrem.

Aquest és l'error que rebem en executar el codi donat. Ara, com gestionem aquest error, es fa mitjançant Gestió d’errors.

Hi ha dos mètodes per tractar els errors que són:

  1. En l'error Anar, i
  2. Si hi ha un error, repreneu el següent.

Explicació

Com s'ha explicat anteriorment, obtenim molts tipus d'errors a VBA, alguns són sintaxis i d'altres són temps d'execució. Els errors de sintaxi ja estan ressaltats en color vermell, per exemple, consulteu la captura de pantalla següent,

Mentre que l'altre és el temps d'execució d'errors. Bàsicament, Excel farà les tres coses següents, ja sigui mostrarà un error o ignorarà aquest error o mostrarà un conjunt determinat d’instruccions. Per realitzar aquestes tasques, hem de donar instruccions i això s’anomena Gestió d’errors.

Com es poden gestionar els errors al codi VBA?

Podeu descarregar aquesta plantilla Excel de maneig d'errors VBA aquí: plantilla Excel de maneig d'errors VBA

Exemple 1

Per al primer exemple, agafem el primer codi que hem pres com a demostració. A l'exemple anterior, hem vist que el codi dóna un error de temps d'execució a la segona funció msgbox.

Escriviu el codi següent després d'obrir la subfunció,

Codi:

 Submostra () amb error Reprèn Següent MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Final Sub 

Ara, quan executem el codi anterior, veiem que la línia de codi que té l'error no s'executa. Excel salta aquesta línia i es reprèn a la següent línia.

Hi ha un altre mètode per gestionar l'error: vba Goto Statement, proporcionem a Excel una destinació a la qual es troba quan troba un error. En lloc del codi anterior de manipulació d'errors, hem inserit, escrivim el següent codi,

Codi:

 Subsample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub 

Donem a Excel Az com a destinació on trobar un error. Ara, després del msgbox, escriviu un altre codi com a continuació,

Codi:

 Subsample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Fet: Surt de Sub 

Ara hem de definir la destinació az com el que hauria de fer quan Excel trobi un error al codi.

Codi:

 Subsample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Fet: Surt Sub az: MsgBox "This is an error" & Err.Description End Sub 

Ara, quan executem aquest codi, veiem el resultat que es mostra.

Aquest és el primer resultat de la caixa de missatges i, ja que sabem que tenim un error a la següent línia del nostre codi, vegem el resultat que donarà Excel.

La descripció err.d'anterior del codi ens ajuda a mostrar exactament el que s'ha produït en el nostre codi.

Exemple 2

Hem après a gestionar els errors dels nostres codis. Vegem un altre exemple de com gestionar els errors. Considereu el següent codi com el nostre segon exemple.

Tenim un error una mica similar de l’exemple 1. L’error està en la línia d = i / b. Ara gestionarem aquests errors utilitzant els dos mètodes explicats anteriorment.

Escriviu el codi següent després d'obrir la subfunció,

Codi:

 Sub Mostra 2 () Si hi ha un error Reprèn Següent bx Dim i Com Enter, b Com Enter, c Com Enter, d Com Enter i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d End Sub 

Ara, quan executem el nostre codi, podem veure que ignora la segona línia i només mostra el valor de C.

El controlador d’errors anterior es va reproduir a continuació, ara utilitzarem l’opció Vés a on direm a Excel la destinació que ha d’anar quan es produeixi un error. Escriviu el codi següent,

Codi:

 SubSample2 () On Error GoTo bx Dim i Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d

El bx és una destinació donada quan es troba un error després que msgbox D anoti el següent codi,

Codi:

 SubSample2 () On Error GoTo bx Dim i Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d DOne: Exit Sub 

Ara hem de definir la destinació Bx, què hauria de fer quan es trobi amb un error, per tant, escriviu el següent codi,

Codi:

 SubSample2 () On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d DOne: Sortir Sub bx: MsgBox "Aquest és un altre error" & Err. Sub descripció de la descripció 

Ara, quan executem el codi, podem veure que excel primer ens dóna el valor de C.

Ara en un altre pas, ens donarà la sol·licitud que li hem proporcionat quan es produeix un error.

Així és com gestionem els errors normals d’execució a Excel VBA.

Coses que cal recordar

Hi ha algunes coses que hem de recordar sobre la gestió d’errors:

  1. S'ha activat l'error Reprèn següent Ignora l'error.
  2. On Error GoTo Dóna a Excel una destinació quan es troba amb un error.
  3. La descripció s'utilitza per mostrar a l'usuari l'error exacte que s'ha produït.