Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gestione e Visualizzazione ERRORI VBA

315 views
Skip to first unread message

rudibest

unread,
Apr 1, 2010, 3:46:19 AM4/1/10
to
Buongiorno ragazzi.
Ho fatto una macro che, nel caso in cui abbiamo un qualsiasi tipo di
errore, mi manda una mail con:
Err.Number
Err.Description
Err.Source
Oltre a queste informazioni una descrizioni in base al tipo di errore
ed al modulo che lo ha prodotto tramite questa funzione:
ActiveWorkbook.VBProject.VBE.ActiveCodePane.CodeModule

Il fatto è che vorrei lanciare un messaggio a video con il codice che
lo ha prodotto.
Es.

Faccio una procedura ed inserisco questo codice:

sub divisione ()
dim a as integer, b as integer, c as integer
a=1
b=0
c=a/b
end sub

come ben sappiamo questa sub ci darà errore perchè non è possibile
dividere un numero per 0.
Voglio fare in modo che quando da errore mi restituisca un messaggio
con la riga di codice che ho lo ha prodotto.

Qualcuno può aiutarmi?


Mauro Gamberini

unread,
Apr 1, 2010, 4:28:31 AM4/1/10
to
> come ben sappiamo questa sub ci darà errore perchè non è possibile
> dividere un numero per 0.
> Voglio fare in modo che quando da errore mi restituisca un messaggio
> con la riga di codice che ho lo ha prodotto.
>

Questo codice base:

Public Sub m()

10 On Error GoTo RigaErrore

Dim l1 As Long
Dim l2 As Long
Dim l3 As Long

20 l1 = 10
30 l2 = 0
40 l3 = l1 / l2
50 MsgBox l3

RigaChiusura:
60 Exit Sub

RigaErrore:

70 MsgBox Err.Number & _
vbNewLine & _
Err.Description & _
vbNewLine & _
Err.Source & _
vbNewLine & _
ActiveWorkbook.VBProject.VBE.ActiveCodePane.CodeModule & _
vbNewLine & _
"L'errore è avvenuto a riga: " & _
Trim(Str(Erl))

80 Resume RigaChiusura

End Sub


Qui trovi ulteriori spiegazioni
(si riferiscono ad Access, ma valgono anche per Excel):

http://support.microsoft.com/kb/101324/it
http://support.microsoft.com/kb/148358/it


Per numerare le righe di una routine, il mio
personale consiglio è quello di scaricare
MZ-Tools, *indispensabili* per chi lavora
con il VBA. E' gratuito e lo trovi qui:

http://www.mztools.com/v3/mztools3.aspx


Grazie per la tua attenzione e buon lavoro.

--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads


__________ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 4990 (20100401) __________

Il messaggio è stato controllato da ESET NOD32 Antivirus.

www.nod32.it

0 new messages