Non ho avuto molta esperienza con VBA, ma a volte lo uso al lavoro. Recentemente, ho riscontrato un problema che non dovrebbe accadere e che né il mio capo né me stesso possono capire.Errore VBA Gestione non funzionante in Excel
In sostanza, il problema è che la proprietà Application
DisplayAlerts
è impostata su True
per impostazione predefinita e non può essere modificata per qualche motivo. Probabilmente correlato è che quando faccio un errore, visualizza sempre l'avviso End | Debug | Help e non colpisce mai la gestione degli errori applicata.
Sto eseguendo Office 2010 a 64 bit su un computer Windows 7 a 64 bit. Tuttavia, non credo che sia un problema di piattaforma, in quanto ho testato su più piattaforme, sistemi operativi e permutazioni software diverse e nessun'altra macchina ha questo errore; solo mio.
Ho creato un codice di esempio nel caso qualcuno lo abbia incontrato prima o abbia qualche idea. L'unica cosa che posso pensare è che ho qualcosa installato sulla mia macchina che sta causando questo. Ma dopo un programma di epurazione e molti riavvii, non sono più vicino a decifrare quello che potrebbe essere.
Public Sub TestErrorHandler()
' Suppress alerts
Application.DisplayAlerts = False
Dim strArray(1) As String
strArray(0) = "Hello"
strArray(1) = "World"
' Set up error handler
On Error GoTo ErrHandler
For i = 0 To 3
MsgBox strArray(i)
Next
' Strip the error handler
On Error GoTo 0
' Unsuppress alerts
Application.DisplayAlerts = True
Exit Sub
ErrHandler:
MsgBox "Error: " & Err.Description
Resume Next
End Sub
L'errore è gettato sul terzo enumerazione della for-loop
(come dovrebbe). Il tipo di errore è irrilevante, ciò che è rilevante è che ottengo l'errore e non prendo mai il gestore degli errori.
Qualsiasi suggerimento o aiuto su questo sarebbe molto apprezzato.
Grazie mille!
Mi ricordo che uno, mi ha portato un po 'per capirlo troppo. –
Grazie mille! Sapevo che era qualcosa di divertente che stavo trascurando. Ha funzionato perfettamente! Molte grazie :-D –
Bella risposta. screenshot ftw. –