2013-03-21 18 views
8

Ho avuto l'impressione che la gestione degli errori sia stata ripristinata da On Error GoTo 0.On Error Goto 0 non reimposta il trapping degli errori

Quindi perché non sembra che lo On error resume next si registri nel modo seguente?

Sub GetAction() 
Dim WB As Workbook 
Set WB = ThisWorkbook 

On Error GoTo endbit: 
'raise an error 
Err.Raise 69 
Exit Sub 
endbit: 
On Error GoTo 0 '<<<reset error handling? 

On Error Resume Next 
WB.Sheets("x").Columns("D:T").AutoFit 
MsgBox "ignored error successfully and resumed next"  

End Sub 
+0

@Olle Sjögren In questo post c'è molto che è specifico per Excel, quindi non credo che il tag VBA generico sia adatto senza riscrittura per rendere la domanda rilevante per tutti gli altri prodotti Office. Non è giusto forzare un duplicato su una persona con un problema simile reso specifico da dire, Powerpoint. – Fionnuala

+0

BTW la domanda più generica è su http://stackoverflow.com/questions/14158901/difference-between-on-error-goto-0-and-on-error-goto-1-vba/14159999#14159999, come citato sotto. – Fionnuala

+0

@Remou OK, nessun problema. Ho appena sentito che la risposta "On Error GoTo -1" era abbastanza generale da giustificare il tag [tag: VBA]. –

risposta

6

è necessario utilizzare On Error GoTo -1oErr.Clear per ripristinare l'intercettazione degli errori.

Verificare this answer Ho inviato alcuni mesi fa per una spiegazione più dettagliata.

+0

+1 grazie per questo riferimento e risposta breve e dolce – whytheq

+1

lol - questo link è azzeccato - sembra davvero che la mia domanda sia duplice - ho votato per chiuderlo con un riferimento alla tua altra risposta – whytheq

+0

'Err.Clear' non sembra consentire l'impostazione di un altro gestore di errori. Ottengo solo i risultati richiesti (saltando alcune righe di codice se c'è un errore, e poi facendo di nuovo qualcosa di simile) con 'On Error GoTo -1' prima di impostare un altro' On Error ... '- vedi esempio qui http://stackoverflow.com/questions/11998836/excel-vba-on-error-goto-statement-not-working-inside-for-loop/31543829#31543829 –

Problemi correlati