Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 公式使用单元格的当前值,该值在将来不会更新_Excel_Cell_Return Value - Fatal编程技术网

Excel 公式使用单元格的当前值,该值在将来不会更新

Excel 公式使用单元格的当前值,该值在将来不会更新,excel,cell,return-value,Excel,Cell,Return Value,是否有任何函数可以使用单元格的当前值,如果我更改目标单元格的值,该值在将来不会更新 例如: A1=5 A3=A1,等于5 现在,当我将A1的值更改为6时 A4=A1应等于6,但A3应保持为5 在Excel中也可以这样做吗?假设我们从A1和A4开始都是空的。以下事件宏将允许您在A1中输入值,并使其显示在A4中。每次更改A1中的值时,新值将复制到A4下的第一个空单元格中 在工作表代码区域中输入以下事件宏: Private Sub Worksheet_Change(ByVal Target As Ra

是否有任何函数可以使用单元格的当前值,如果我更改目标单元格的值,该值在将来不会更新

例如: A1=5

A3=A1,等于5

现在,当我将A1的值更改为6时 A4=A1应等于6,但A3应保持为5

在Excel中也可以这样做吗?

假设我们从A1和A4开始都是空的。以下事件宏将允许您在A1中输入值,并使其显示在A4中。每次更改A1中的值时,新值将复制到A4下的第一个空单元格中

在工作表代码区域中输入以下事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A1 As Range, A4 As Range, N As Long
    Set A1 = Range("A1")
    Set A4 = Range("A4")
    If Intersect(A1, Target) Is Nothing Then Exit Sub
    Application.EnableEvents = False
        If A4.Value = "" Then
            A4.Value = A1.Value
        Else
            N = Cells(Rows.Count, "A").End(xlUp).Row + 1
            Cells(N, "A").Value = A1.Value
        End If
    Application.EnableEvents = True
End Sub
由于它是工作表代码,因此安装和自动使用非常容易:

在Excel窗口底部附近的选项卡名称上单击鼠标右键 选择查看代码-这将打开一个VBE窗口 粘贴内容并关闭VBE窗口 如果您有任何顾虑,请先在试用工作表上试用

如果保存工作簿,宏将与工作簿一起保存。 如果在2003年以后使用Excel版本,则必须保存 文件的格式为.xlsm而不是.xlsx

要删除宏,请执行以下操作:

如上所述打开VBE窗口 清除代码 关闭VBE窗口 要了解有关宏的更多信息,请参阅:

要了解有关事件宏工作表代码的详细信息,请参阅:


必须启用宏才能使其工作

从我读到的内容来看,您要求能够编辑单元格的值,但不改变不同公式中的实际值。我相信在VBA中会有这样做的方法,但这会有点违背电子表格的目的,并会导致以后其他公式出现问题。就我个人而言,我建议先写一篇旧价值观的专栏文章,然后再写一篇新价值观的专栏文章,特别是如果你在做比较价值观的话。我正在尝试创建简单的发票电子表格,因此今天我的服务费为10英镑,明天的f.e.费用为12英镑。因此,我想使用单元格定义我的服务的当前价格,但在excel中似乎是不可能的简单方法。看起来唯一的方法是为每个价格变化创建单独的参考。我是对的吗?我会的,尤其是当你试图参考一个价格的时候。2个独立的列。。。原价,现价。您可以在每个费率上加盖日期戳。具有与每个费率关联的开始日期和结束日期。然后,无论何时提供服务,您都可以使用提供服务的日期在费率表中查找日期范围,并返回适用的费率。@Brad Hi Brad,很好的建议,可以这样做。