2017-08-21 3 views
1

Je me demande si je peux annuler toutes les actions dans la file d'attente d'annulation,MS Excel comment annuler plusieurs actions en utilisant VBA

Je connais la fonction Application.Undo mais cela n'annule la dernière action et efface la file d'attente , J'ai essayé de mettre ceci dans une boucle et il a juste continué à défaire puis à refaire.

Extra info:
Les utilisateurs ouvrent une forme en lecture seule,
changer Accidentellement champs puis utiliser une forme qui modifie enregistre alors (dans ABV) et les changements accidentels sont enregistrés aussi,
Je veux défaire tous les changements accidentels avant que l'utilisateur exécute le formulaire afin que seules les modifications nécessaires soient enregistrées. Puis-je annuler plusieurs actions à la fois?

+0

Vous essayez de Nouvelle recherche avec VBA, ou sans? En outre, sans un codage plutôt intelligent/complexe, AFAIK, vous ne pouvez pas "défaire" une macro comme vous pouvez avec "CTRL + Z" si vous supprimez une cellule par exemple. – BruceWayne

+0

Je veux seulement annuler tout ce que l'utilisateur a tapé donc seulement des actions manuelles (pas de macros) – Liamck27

+0

Quelle version d'Excel? En 2016 (et plus tôt je crois), vous pouvez aller à l'Annuler, cliquer sur la flèche vers le bas, voir les actions précédentes et inverser celles-ci. Êtes-vous seulement capable de voir l'action la plus récente? – BruceWayne

Répondre

0

Vous pouvez fermer votre classeur sans enregistrer. C'est la seule méthode dont je suis conscient. Pour éviter la perte de données, exécutez vos macros sur la copie de vos données.

Fondamentalement, vous ne pouvez pas annuler quoi que ce soit après VBA court ...