Vraag : De Behandeling van de fout VBA

Hallo Deskundigen,

Simple één hier. Is fout altijd vereiste behandeling. Ik heb het niet tot zover gebruikt, maar ik gezien=heb= het in andere code enz. Hoe weet ik zou wanneer ik het nodig heb, en waar het in de code moeten gaan? is daar een vastgestelde norm in termen van waar het zou moeten worden geplaatst of het volledig afhankelijk van de code en instructies die is worden de geschreven.
I heeft het soms aan het eind, is dat de beste plaats voor het gezien? Kan of, ik langs zonder het worden? de wijzers

any groot zijn!

Thanks en cheer: -)

Antwoord : De Behandeling van de fout VBA

Op Fout hervat daarna zou moeten over het algemeen slechts in eenvoudige enige doelsubs en functies worden gebruikt die door uw hoofdsubs worden geroepen (b.v. is controleren van een werkboek open of een blad bestaat). Voorbij dat, fout is de behandeling werkelijk voor het vangen van onverwachte fouten of fouten geen die u op een andere manier kunt gemakkelijk behandelen. Typisch hebt u:

Op Fout Goto err_handler

lijn bij het begin (waar „err_handler“ een etiket in uw code is)

dan een sectie van de foutenmanager aan het eind, die in mijn geval u gewoonlijk op een schoonmaaksectie aan het eind van de code terugkomt. Bijvoorbeeld:


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:
Privé SubWorksheet_Change (Doel ByVal als Waaier)
    Schemerige rngCell als Waaier, strPrefix als Koord
    
   Op Fout GoTo Worksheet_Change_Error
    
    Application.EnableEvents = Vals
    
    Als om te snijden niet (Doel, Waaier („A: “)) Is dan niets
        strPrefix = Waaier („C2“). Waarde
        Voor Elke rngCell snijd binnen (Doel, Waaier („A: “))
            Als Len (rngCell.Value) > 0 toen
                Als InStr (1, rngCell.Value, strPrefix, vbTextCompare) <> 1 toen
                    rngCell.Value = strPrefix & rngCell.Value
                Eind als
            Eind als
        Volgende rngCell
    Eind als

clean_up:
    Application.EnableEvents = Waar
   Sub van de uitgang

Worksheet_Change_Error:

    MsgBox „Fout“ & Err.Number & „(“ & Err.Description & „) in procedure Worksheet_Change van Vba- Document Sheet1“
    Hervat clean_up
Beëindig Sub
Andere oplossingen  
 
programming4us programming4us