Questione : Trattamento degli errori VBA

Ciao esperti,

Simple uno qui. È il trattamento degli errori richiesto sempre. Non sto usandolo finora, ma lo ho veduto nell'altro codice ecc… come so quando io lo hanno bisogno e dove dovrebbe andare nel codice? è ci un campione dell'insieme in termini di dove dovrebbe essere disposto o è esso interamente dipendente dal codice e dalle istruzioni che sono scritti.
I lo hanno veduto a volte all'estremità, è quel il migliore posto per esso? O, posso ottenere vicino senza esso? gli indicatori del

any sarebbero grandi!

Thanks ed acclamazione: -)
class= del

Risposta : Trattamento degli errori VBA

Sull'errore il riassunto dopo dovrebbe essere utilizzato generalmente soltanto nei singoli sommergibile semplici e nelle funzioni di scopo che sono denominati in vostri sommergibile principali (per esempio il controllo di un libro di esercizi è aperto o uno strato esiste). Oltre il quel, il trattamento degli errori è realmente per gli errori inattesi di cattura o gli errori che non potete trattare prontamente in qualunque altro senso. Avete tipicamente:

Sul err_handler di avanzamento di errore

linea all'inizio (dove “il err_handler„ è un'etichetta nel vostro codice)

allora una sezione dell'alimentatore di errori all'estremità, che nel mio caso lo restituisce solitamente ad una sezione di pulizia alla conclusione del codice. Per esempio:


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
Worksheet_Change secondario riservato (obiettivo di ByVal come gamma)
    rngCell fioco come gamma, strPrefix come stringa
    
   Sull'errore Worksheet_Change_Error di avanzamento
    
    Application.EnableEvents = falso
    
    Se non intersecare (obiettivo, gamma (“A: „)) Allora è niente
        strPrefix = gamma (“C2„). Valore
        Per ogni rngCell dentro intersecare (obiettivo, gamma (“A: „))
            Se Len (rngCell.Value) > 0 allora
                Se InStr (1, rngCell.Value, strPrefix, vbTextCompare) <> 1 allora
                    rngCell.Value = strPrefix & rngCell.Value
                Concluder se
            Concluder se
        rngCell seguente
    Concluder se

clean_up:
    Application.EnableEvents = allineano
   Uscire il sommergibile

Worksheet_Change_Error:

    MsgBox “errore„ & Err.Number & “(" & Err.Description & ") nella procedura Worksheet_Change del documento Sheet1 di VBA„
    Clean_up del riassunto
Sommergibile dell'estremità
Altre soluzioni  
 
programming4us programming4us