如何使用自引用锁定公式?


0

我正在尝试这个:

C9式:= -40 + C9

我想要的是能够在C9中输入一些不会覆盖公式并在该单元格中得到结果的值。例如:

如果我在C9中输入值140,则单元格将显示100,因为公式为= -40 + C9

那可能吗?

Answers:


2

您可以为单元格更改编写一个宏http://support.microsoft.com/kb/213612 您可能会发现阅读此主题很有用:https//stackoverflow.com/questions/409434/automatically-execute-an-excel -macro-ON-A-小区变更

这是工作示例(只是在我的计算机上试过)

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

好的,现在我有: Sub Troca_Valor() ' ' Troca_Valor Macro ' Macro recorded 07/04/2013 by Fernando ' ' ActiveCell.FormulaR1C1 = "=RC-40" Range("C10").Select End Sub
FernandoSBS 2013年

我不得不输入功能代码回复我的问题,这是正确的吗?
FernandoSBS


1

你不应该这样做!

使C9 = -40 + C9只是一个递归。这意味着,如果允许单元格进行评估,它应该永远从自身减去-40。另外,我不建议使用Macro。您将永远无法进行更改或恢复到以前的值。比如说,如果你想改变一个细胞,其他细胞就会受到影响。

我的建议是为此做一个额外的专栏。比如在C9中写下你的值并在D9中评估它。然后,您可以隐藏 C列以使其不可打印。这种方式非常强大和安全。实际上,这就是电子表格的工作方式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.