0
votes

Fonctionne une fois, puis plus jamais

J'ai posté une question sur la pile sur le débordement de la création d'une macro Excel pour ajouter / soustraire une valeur dans une colonne de la colonne précédente, puis effacez la colonne actuelle.

Mise à jour de la valeur de la cellule Excel

Le code travaillée trouver pendant des années au bureau 2007, mais ne fonctionne plus dans le bureau 365 ( 2016/2019)

Si F1 a une valeur de 100,00 £ et je tape -50 dans G1, les modifications de F1 de 50,00 £ et G1 sont vides. Chaque cellule de la colonne F est modifiée par une quantité entrée dans la ligne de la colonne g.

dans Office 365 versions d'Excel Cette macro exécute une fois de nouveau à nouveau avant de fermer un nouveau document . Quelque chose a changé au sujet du travail de macros qui causerait cela?

EDIT: Voici le code (attaché à la feuille 1), légèrement modifié de ma question précédente pour travailler sur la colonne g. xxx


1 commentaires

Collez votre code actuel et non un lien vers la réponse, car ce que vous décrivez ne correspond pas à la réponse (seulement Col C déclencheurs change), je me demande si vous avez changé quelque chose ou il y a d'autres macros à jouer qui éteignent l'événement de changement de feuille de travail


3 Réponses :


-1
votes

On dirait qu'une formule suffirait. Cependant, une cellule ne peut pas se référer à elle-même, vous pouvez essayer, xxx

où E1 est une nouvelle cellule avec la somme de F1 et G1, car vous entrez dans son opérateur de signalisation, c'est-à-dire - ou + la vous peut le laisser comme ajout dans la cellule E1. Pour l'utiliser pour une colonne, faites-la glisser du carré inférieur gauche sur la cellule E1 jusqu'à ce que vous souhaitez. Cela vous rafraîchira chaque fois qu'une valeur change de valeur.

Excel Image


0 commentaires

0
votes

Je pense que ce n'est rien de mal avec Office 365 ...

Pour fonctionner comme vous expliquez, le code doit ressembler à: xxx

mais vous Doit comprendre que ce code fonctionne uniquement pour changer de cellules dans la colonne C: C . La variante que vous avez reçue six ans avant de travailler uniquement dans la même colonne, mais sur la verticale. Je veux dire, changer de c2 , il utilisait pour modifier C1 . Mais il y avait un bug. Si vous essayez de modifier C1 , il tentera de définir un décalage de -1, la rangée zéro n'existe pas dans Excel et renvoie une erreur ...

Je ne peux pas comprendre comment le L'événement a fonctionné au moins une fois pour les plages g1 , f1 . Cela ne pourrait fonctionner que si certains liens existent dans la feuille ou que vous avez adapté le code et dans un tel cas, le code réel utilisé nous donnera la possibilité d'analaisser et dire vous, pas en supposant que le problème est. Je ne pense pas que ce soit une question de version de bureau, mais qui sait ...


2 commentaires

Désolé, ajouté le code. Il a été changé pour refléter la nouvelle colonne utilisée.


@ Mikes159: Donc, c'est comme je leur ai suggéré ... Avez-vous vérifié si l'événement est viré? Placez une ligne: msgbox "Ça fonctionne" ... Peut-être que vous exécutez une autre sous-marine acafévents = false et arrêté sur l'erreur ... à partir de ce moment-là, Événements Peut-être que cela ne tiendra plus.



1
votes

Je n'ai pas assez de représentant pour faire un commentaire ... Sans voir votre code complet, il est difficile de savoir. Mais si votre code a

 application.enableEvents = false 


2 commentaires

Wow, ok bizarre. Cela a travaillé dans Excel 2007 depuis que j'ai posé cette question en 2014. Mise à niveau de mon bureau au bureau 365 et cela a cessé de fonctionner, alors j'ai quitté mon ordinateur portable en 2007, qui a toujours travaillé. Je n'ai jamais défini à des ajustements de fausse, mais faisant cela à l'intérieur de l'instant, le réglez-le bien après la clair de la cellule. Devinez 2007 DOIT avoir expiré sur l'appel récursif ou quelque chose.


Je suis content que ce soit réparé!