Comment verrouiller une formule avec référence à soi?


0

J'essaye ceci:

Formule C9: = -40 + C9

Ce que je veux, c'est pouvoir entrer une valeur dans C9 qui n'écrase pas la formule et n'obtient un résultat dans cette cellule. Par exemple:

Si j'entre la valeur 140 dans C9, la cellule affichera 100, car la formule est = -40 + C9

Est-ce possible?

Réponses:


2

Vous pouvez écrire une macro pour un changement de cellule http://support.microsoft.com/kb/213612 Vous pouvez trouver utile de lire ce sujet: https://stackoverflow.com/questions/409434/automatically-execute-an-excel macro-sur-une-cellule-changement

Voici l'exemple de travail (juste essayé sur mon ordinateur)

Private Sub Worksheet_Change(ByVal Target As Range)
    Set KeyCells = Range("A1:C10")
    Set isect = Application.Intersect(KeyCells, Range(Target.Address))
    If Not isect Is Nothing Then
        Application.EnableEvents = False
        isect.Value = isect.Value - 40
        Application.EnableEvents = True
    End If
End Sub

Ok donc maintenant j'ai: Sub Troca_Valor() ' ' Troca_Valor Macro ' Macro recorded 07/04/2013 by Fernando ' ' ActiveCell.FormulaR1C1 = "=RC-40" Range("C10").Select End Sub
FernandoSBS

Je devais entrer le code de fonction en réponse à ma question, est-ce correct?
FernandoSBS


1

Tu ne devrais pas le faire!

Faire C9 = -40 + C9 est simplement une récursion . Cela signifie que si la cellule est autorisée à évaluer, elle devrait continuer à soustraire -40 de elle-même pour toujours. De plus, je ne recommande pas d'utiliser Macro. Vous ne pourrez jamais apporter de modifications ni revenir aux valeurs précédentes. Dites, si vous voulez changer une cellule, d'autres cellules seront affectées à.

Ma suggestion est de faire une colonne supplémentaire pour cela. Dites, écrivez votre valeur en C9 et évaluez-la en D9. Ensuite, vous pouvez masquer la colonne C pour la rendre non imprimable. Cette voie est très robuste et sûre. En fait, c'est ainsi que les feuilles de calcul sont censées fonctionner.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.