2017-10-06 81 views
1

不确定在Excel中是否可以这样做,但是我希望单元格K9每次都更新为今天的日期任何单元格都在K11:K119被改变。 K11:K119中的某些单元格为空白,但可以随时将数据输入到它们中。已有数据的K11:K119中的单元格可能会更改。因此,我希望cell K9随时更新,并随时更新K11:K119中的任何单个空白单元格随数据更新,或任何时候K11:K119中的任何单个单元格随数据更改。希望这是有道理的。使用当前日期自动更新Excel中的单元格随时更新或更改列中的任何单元格

+0

您需要在Worksheet_Change事件中使用vba。 –

回答

1

将工作表中的代码区下面的事件宏:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim r1 As Range, r2 As Range 
    Set r1 = Range("K9") 
    Set r2 = Range("K11:K119") 
    If Not Intersect(Target, r2) Is Nothing Then 
    Application.EnableEvents = False 
     r1.Value = Date 
    Application.EnableEvents = True 
    End If 
End Sub 

宏观监控的更改到工作表。如果更改输入范围中的任何值,则会刷新具有日期的单元格。

因为它是工作表的代码,这是非常容易安装和自动使用:

  1. 右键单击靠近Excel窗口底部的标签名称
  2. 选择查看代码 - 这带来了一个VBE窗口
  3. 粘贴的东西并关闭VBE窗口

如果您有任何问题,首先尝试在一个审判工作。

如果保存工作簿,宏将与其一起保存。 如果您正在使用一个版本的Excel更高然后2003,你必须保存 该文件作为.XLSM而非的.xlsx

要删除宏:

  1. 弹出窗口VBE如上
  2. 清晰的代码进行
  3. 关闭VBE窗口

要了解更多关于一般的宏,请参阅:

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

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

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

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

宏必须为此工作启用!

0

如果你不想启用宏,尝试一些简单的:

=IF(COUNT(K11:K119)>=0,TODAY(),0) 

COUNT(range)永远是≥0(所以它不会不管你怎么把作为第三个参数),它总是当范围的任何成员改变时更新。

相关问题