我想知道是否有办法链接一个单元格,使其永久保存计算结果,这样即使计算输入发生变化,前一个结果仍然保存。
为了进一步说明,例如,当我们说第一种情况下我的计算是x + 2 = y和x = 1时。我希望能够链接一个单元格以保存结果y = 3以及输入x = 1,即使我更改了x的值。
可能的解决方案一起使用IF条件和PASTE SPECIAL命令,但我不确定如何对其进行编程以使其自动化。有没有办法用公式做到这一点?或者我必须冒险进入VBA?
答案 0 :(得分:1)
可能的解决方案一起使用IF条件和PASTE SPECIAL命令,但我不确定如何对其进行编程以使其自动化。有没有办法用公式做到这一点?或者我必须冒险进入VBA?
这是一种不需要PASTE SPECIAL命令的方法。将代码粘贴到相关工作表代码区域中。请参阅快照1 。这只是一个例子。请根据您的要求进行更改。代码的作用是,它检查用户是否输入任何X值(单元格A2),如果用户确实捕获了它,则捕获Y的值(单元格B2)并将其存储在Col D中。请参阅快照2 。
快照1
快照2
这是完整的代码。但有一点谨慎。如果没有“ .EnableEvents = False ”或主页中没有错误处理,请不要尝试此代码。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRow As Long
On Error GoTo Whoa
'~~> Check if any value was entered in cell A2
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'~~> Get the next available line in Col D for output
LastRow = Range("D" & Rows.Count).End(xlUp).Row + 1
'~~> Save the value
Range("D" & LastRow).Value = Range("B2").Value
End If
LetsContinue:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub
HTH
西特
答案 1 :(得分:0)
您可以在另一个单元格中复制单元格y和粘贴值的值。 右键单击 - >选择性粘贴 - >选择“值”