Tècniques de depuració per a Excel 2016 VBA

És possible que tingueu alguns problemes amb el vostre codi VBA, però com trobeu el problema? De vegades, el vostre codi VBA pot necessitar una mica de depuració. Continueu llegint per descobrir els quatre mètodes més comuns per depurar el codi VBA d'Excel:

  • Examinant el codi

  • Inserció de funcions MsgBox a diverses ubicacions del codi

  • Inserció de declaracions Debug.Print

  • Utilitzant les eines de depuració integrades d'Excel

Examinant el teu codi

Potser la tècnica de depuració més senzilla és simplement mirar de prop el vostre codi per veure si podeu trobar el problema. Aquest mètode, per descomptat, requereix coneixements i experiència. En altres paraules, has de saber què estàs fent. Si tens sort, l'error salta de seguida i et copeges el front i dius: "Oh!" Quan el dolor al front disminueix, podeu solucionar el problema.

Fixeu-vos en l'ús de les paraules "Si teniu sort". Això és perquè sovint descobreixes errors quan has estat treballant en el teu programa durant vuit hores seguides, són les 2 de la matinada i tens cafeïna i força de voluntat. En moments com aquest, teniu sort si fins i tot podeu veure el vostre codi, i molt menys trobar els errors. Per tant, no us sorpreneu si només examinar el vostre codi no és suficient per fer-vos trobar i eliminar tots els errors que conté.

Utilitzant la funció MsgBox

Un problema comú en molts programes implica que una o més variables no prenguin els valors que espereu. En aquests casos, supervisar les variables mentre s'executa el codi és una tècnica de depuració útil. Una manera de fer-ho és inserint funcions MsgBox temporals a la vostra rutina. Per exemple, si teniu una variable anomenada CellCount, podeu inserir la instrucció següent:

MsgBox CellCount

Quan executeu la rutina, la funció MsgBox mostra el valor de CellCount.

Sovint és útil mostrar els valors de dues o més variables al quadre de missatge. La instrucció següent mostra el valor actual de dues variables: LoopIndex (1) i CellCount (72), separades per un espai.

MsgBox LoopIndex & “ “ & CellCount

Observeu que les dues variables es combinen amb l'operador de concatenació (&) i inseriu un caràcter d'espai entre elles. En cas contrari, el quadre de missatge uneix els dos valors junts, fent-los semblar un únic valor. També podeu utilitzar la constant integrada, vbNewLine, en lloc del caràcter espai. vbNewLine insereix un salt de línia, que mostra el text en una línia nova. La declaració següent mostra tres variables, cadascuna en una línia separada:

Tècniques de depuració per a Excel 2016 VBA

Ús d'un quadre de missatge per mostrar el valor de tres variables.

MsgBox LoopIndex i vbNewLine i CellCount i vbNewLine i MyVal

Aquesta tècnica no es limita a controlar variables. Podeu utilitzar un quadre de missatge per mostrar tota mena d'informació útil mentre el vostre codi s'executa. Per exemple, si el codi passa per una sèrie de fulls, la instrucció següent mostra el nom i el tipus del full actiu:

MsgBox ActiveSheet.Name & “ “ & TypeName(ActiveSheet)

Si el vostre quadre de missatge mostra alguna cosa inesperada, premeu Ctrl+Pausa i veureu un quadre de diàleg que us indica que l'execució del codi s'ha interromput, teniu quatre opcions:

  • Feu clic al botó Continuar. El codi continua executant-se.

  • Feu clic al botó Finalitzar. S'atura l'execució.

  • Feu clic al botó Depurar. El VBE entra en mode de depuració.

  • Feu clic al botó Ajuda. Una pantalla d'ajuda us indica que heu premut Ctrl+Pausa. En altres paraules, no és gaire útil.

    Tècniques de depuració per a Excel 2016 VBA

    Si premeu Ctrl+Break, s'atura l'execució del vostre codi i us ofereix algunes opcions.

Si el vostre teclat no té una tecla de pausa, proveu de prémer Ctrl+Bloq de desplaçament.

No dubteu a utilitzar les funcions MsgBox amb freqüència quan depureu el codi. Només assegureu-vos d'eliminar-los després d'identificar i corregir el problema.

Inserció de declaracions Debug.Print

Com a alternativa a l'ús de funcions MsgBox al vostre codi, podeu inserir una o més instruccions Debug.Print temporals. Utilitzeu aquestes declaracions per imprimir el valor d'una o més variables a la finestra Immediata. Aquí teniu un exemple que mostra els valors de tres variables:

Debug.Print LoopIndex, CellCount, MyVal

Observeu que les variables es separen amb comes. Podeu mostrar tantes variables com vulgueu amb una sola instrucció Debug.Print.

Debug.Print envia la sortida a la finestra Immediata encara que aquesta finestra estigui amagada. Si la finestra Immediata de VBE no és visible, premeu Ctrl+G (o trieu Visualitza → Finestra immediata). Aquí hi ha alguns resultats a la finestra Immediata.

Tècniques de depuració per a Excel 2016 VBA

Una instrucció Debug.Print envia la sortida a la finestra Immediata.

A diferència de MsgBox, les instruccions Debug.Print no aturen el codi. Per tant, heu de vigilar la finestra Immediata per veure què passa.

Després d'haver depurat el codi, assegureu-vos d'eliminar totes les declaracions Debug.Print. Fins i tot grans empreses com Microsoft de tant en tant obliden eliminar les seves declaracions Debug.Print. En diverses versions anteriors d'Excel, cada vegada que s'obria el complement Analysis ToolPak, veuríeu diversos missatges estranys a la finestra Immediata. Aquest problema es va solucionar finalment a Excel 2007.

Utilitzant el depurador de VBA

Els dissenyadors d'Excel estan íntimament familiaritzats amb el concepte d'errors. En conseqüència, Excel inclou un conjunt d'eines de depuració que us poden ajudar a corregir problemes al vostre codi VBA.


Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word d'obrir fitxers en mode de només lectura a Windows Microsoft Word obre fitxers en mode de només lectura, cosa que fa que sigui impossible editar-los? No us preocupeu, els mètodes es mostren a continuació

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com corregir errors en imprimir documents incorrectes de Microsoft Word Els errors en imprimir documents de Word amb tipus de lletra canviats, paràgrafs desordenats, falta de text o contingut perdut són força habituals. No obstant això, no

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Si heu utilitzat el llapis o el marcador per dibuixar a les vostres diapositives de PowerPoint durant una presentació, podeu desar els dibuixos per a la següent presentació o esborrar-los de manera que la propera vegada que el mostreu, començareu amb diapositives de PowerPoint netes. Seguiu aquestes instruccions per esborrar dibuixos a llapis i ressaltadors: Esborrant línies una a […]

Contingut de la biblioteca destils a SharePoint 2010

Contingut de la biblioteca destils a SharePoint 2010

La biblioteca d'estils conté fitxers CSS, fitxers de llenguatge de full d'estil extensible (XSL) i imatges utilitzades per pàgines mestres predefinides, dissenys de pàgina i controls a SharePoint 2010. Per localitzar fitxers CSS a la biblioteca d'estils d'un lloc de publicació: Trieu Accions del lloc→Visualitza Tot el contingut del lloc. Apareix el contingut del lloc. La biblioteca d'estil es troba a […]

Formateu els números en milers i milions als informes dExcel

Formateu els números en milers i milions als informes dExcel

No desbordeu el vostre públic amb números gigantesques. A Microsoft Excel, podeu millorar la llegibilitat dels vostres taulers i informes formatant els vostres números perquè apareguin en milers o milions.

Com compartir i seguir els llocs de SharePoint

Com compartir i seguir els llocs de SharePoint

Apreneu a utilitzar les eines de xarxes socials de SharePoints que permeten a persones i grups comunicar-se, col·laborar, compartir i connectar-se.

Com convertir les dates a formats Julian a Excel

Com convertir les dates a formats Julian a Excel

Les dates julianes s'utilitzen sovint en entorns de fabricació com a marca de temps i referència ràpida per a un número de lot. Aquest tipus de codificació de dates permet als minoristes, consumidors i agents de serveis identificar quan es va fabricar un producte i, per tant, l'antiguitat del producte. Les dates julianes també s'utilitzen en programació, militars i astronomia. Diferents […]

Com crear una aplicació web daccés

Com crear una aplicació web daccés

Podeu crear una aplicació web a Access 2016. Què és, de totes maneres, una aplicació web? Bé, web vol dir que està en línia i l'aplicació és només una abreviatura de "aplicació". Una aplicació web personalitzada és una aplicació de base de dades en línia a la qual s'accedeix des del núvol mitjançant un navegador. Creeu i manteniu l'aplicació web a la versió d'escriptori […]

Barra dinici ràpid a SharePoint 2010

Barra dinici ràpid a SharePoint 2010

La majoria de les pàgines del SharePoint 2010 mostren una llista d'enllaços de navegació a la barra d'inici ràpid al costat esquerre de la pàgina. La barra d'inici ràpid mostra enllaços al contingut del lloc destacat, com ara llistes, biblioteques, llocs i pàgines de publicació. La barra d'inici ràpid inclou dos enllaços molt importants: Enllaç de tot el contingut del lloc: el […]

Què signifiquen els missatges derror del solucionador a Excel?

Què signifiquen els missatges derror del solucionador a Excel?

Per a problemes senzills, Solver a Excel sol trobar ràpidament els valors òptims de la variable Solver per a la funció objectiu. Però, en alguns casos, Solver té problemes per trobar els valors de la variable Solver que optimitzen la funció objectiu. En aquests casos, Solver normalment mostra un missatge o un missatge d'error que descriu o discuteix el problema que […]