Excel如果单元格值大于同一单元格的先前值

我想把一个值给A1,当我改变A1我想保持在另一个单元格中input的第一个值。

这可能吗?

谢谢

这里只是一个使用公式的解决scheme。 它要求您在Excel选项中切换迭代计算。 您可以将其设置为1次迭代。

您只需要在B1中input以下公式:

=IF(ISBLANK(C1),IF(ISBLANK(A1),B1,IF(B1="",A1,B1)),"") 

A1是要记住的单元格,B1是存储位置,C1是重置button。

  • 只要C1是空的,B1保存A1中input的第一个值。
  • 当您在C1中input任何值时,B1在此状态下变空并被阻塞。
  • 然后你可以删除C1的内容,并且B1会再次变得响应。 它会“捕捉”出现的第一个值A1并保留,直到您重新设置。

在工作表区域中插入以下事件macros:

 Private Sub Worksheet_Change(ByVal Target As Range) Dim A As Range, N As Long Set A = Range("A1") If Intersect(Target, A) Is Nothing Then Exit Sub If Cells(1, 2).Value = "" Then N = 1 Else N = Cells(1, 2).End(xlUp).Row + 1 End If Application.EnableEvents = False A.Copy Cells(N, "B") Application.EnableEvents = True End Sub 

每次在A1中input一个值时,该值将被logging在列B的第一个可用单元中

因为它是工作表代码,所以安装和自动使用非常简单:

  1. 右键单击Excel窗口底部附近的选项卡名称
  2. select查看代码 – 这会popup一个VBE窗口
  3. 粘贴东西,closuresVBE窗口

如果您有任何疑问,请先在试用工作表上尝试。

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

要删除macros:

  1. 调出上面的VBE窗口
  2. 清除代码
  3. closuresVBE窗口

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件macros(工作表代码)的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

macros必须启用这个工作!