Excel VBA Global d'erreur de manipulation
Est-il un moyen de le faire global d'erreur de manipulation?
Puis-je mettre un peu de code dans le Classeur de code qui va attraper les erreurs qui se produisent dans tous les modules?
J'ai pu mettre le même gestionnaire d'erreurs dans chaque module, mais je suis à la recherche de quelque chose de plus général.
Je demande parce que j'ai les noms de feuilles qui sont stockés comme des variables globales comme ce Sheets(QuoteName)
. Si il y a une erreur, alors ces variables globales sont perdus. J'ai une macro qui permet de renommer les variables globales, mais j'ai mis cela dans Workbook_BeforeSave
.
Je veux qu'il aille à l'erreur globale de gestionnaire et de renommer la variable globale si je reçois un Indice en dehors de la plage de erreur pour Sheets(QuoteName)
Ok. C'est une honte. M'aurait sauvé un certain temps.
OriginalL'auteur evoandy | 2013-02-18
Vous devez vous connecter pour publier un commentaire.
Comme Sid déjà mentionnées dans le commentaire, il n'existe pas de gestionnaire d'erreur.
La meilleure pratique est d'avoir une centrale routine de gestion d'erreur qui est appelée à partir de l'erreur locale des gestionnaires. Jetez un oeil à la grande MZ-Tools: il a la possibilité de définir un gestionnaire d'erreurs par défaut en appuyant sur un bouton (Ctrl-E). Vous pouvez personnaliser ce gestionnaire d'erreur - et il peut également contenir du module et/ou sous le nom de!
En outre, découvrez ce poste La Dose quotidienne d'Excel. C'est Dick Kusleika de l'OO version du gestionnaire d'erreur proposé dans ce livre (que je recommande fortement).
En effet, MZ-Tools est un atout précieux pour la VBA boîte à outils. Combiné avec sa ligne automatique de la numérotation de la fonction, la routine de gestion d'erreur d'insertion de l'outil est idéal pour les rapports des exceptions non gérées lors de la bêta/UAT phases de projets de grande envergure. Avec un peu d'effort, vous pouvez construire une hiérarchie par laquelle tout non gérée erreur d'exécution peut être transmis jusqu'à la macro point d'entrée et signalés par l'intermédiaire d'un formulaire utilisateur personnalisé/fichier journal complet avec la procédure de l'historique des appels avec tous les points de sortie des numéros de ligne.
OriginalL'auteur Peter Albert
Voici un code que j'ai jeté à gérer le problème de l'accès
Il met la vérification des erreurs dans tous les sous-marins, mais pas de fonctions. subs avoir un formulaire parent (ACCÈS), ou à défaut, vous devez mettre le nom du formulaire à la main. sous-marins qui se poursuivent sur plus d'une ligne sera impitoyablement frappé.
Les deux sous-marins doivent être au fond d'un module.
globalerror regarde un booléen mondiale errortracking pour voir si il se connecte tout ou seulement les erreurs
Il y a une table ErrorTracking qui doit être créée sinon juste un commentaire de 1990 à 2160
Lors de l'exécution, il supprime puis ajoute les numéros de ligne pour tout le projet, de sorte que votre message d'erreur peut inclure une ligne #
Ne sais pas si il fonctionne sur autre chose que des trucs que j'ai codé.
Assurez-vous d'exécuter et de tester sur une copie de votre VBA, parce que c'littéralement réécrit chaque ligne de code de votre projet, et si j'ai foiré, et vous n'avez pas sauvegarder, votre projet est cassé.
OriginalL'auteur user3666385