Excel (2003) - 在单元格上自动插入日期

标签 excel vba

我真的不知道这是否是一个编程问题,但我相信你们中的一个人可以轻松地帮助我解决这个问题。

我正在尝试在 Excel 中创建一个自动“插入日期”功能。即,当一个人在我的 Excel 文档中的一行中输入数据时,我希望另一个单元格自动显示插入日期。

站在单元格内,我试图显示日期,我写了以下内容:

=IF(ISBLANK(C20);1;TODAY())

这很好用,直到我第二天打开它。显然它会将日期设置为“今天”,但如果我希望它只在插入时更新一次 - 我该怎么做?

像这样思考(Java - 伪)。

IF(!OTHER.CELL.ISBLANK() && THIS.CELL.ISBLANK()){
   THIS.CELL = TODAY();
}

现在,如何在 Excel 中执行此操作?

提前致谢。

最佳答案

您将使用Worksheet_Change 事件

  1. 右键单击工作表标签
  2. 查看 - 代码
  3. 复制并粘贴以下代码

这段代码

  • 跟踪对 Activesheet C 列所做的更改
  • 将当前数据和用户登录名输入到 D 列中每个相应的单元格

仅捕获更改的 C 列单元格(如本行中指定) 设置 rng1 = Intersect(Range("C:C"), Target)

Application.EnableEvents = False 用于在 D 列写入时停止代码重新触发

您可以轻松地将其调整为
1)写入不同的(可能是隐藏的)日志表
2)改为写入文本文件

如果您需要任何更新,请告诉我

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Set rng1 = Intersect(Range("C:C"), Target)
If rng1 Is Nothing Then Exit Sub
Application.EnableEvents = False
rng1.Offset(0, 1).Value = Now() & " - " & Environ("username")
Application.EnableEvents = True
End Sub

enter image description here

关于Excel (2003) - 在单元格上自动插入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109932/

相关文章:

excel - 如何使用 VBA 从 Excel 向服务器发送 HTTP POST 请求?

arrays - 添加具有多个真实 filterxml 变量的 ifs 函数

sql-server - Excel vba xml解析性能

vba - 在同一个工作表中调用另一个子程序 VBA

json - 将大型集合对象(从json解析)写入excel范围

excel - 数据透视图按值排序

algorithm - 如何找到与给定整数对应的 Excel 列名称?

javascript - 如何在laravel中使用javascript将html表格保存为excel文件格式

excel - VBA 中变体数据类型可以存储固定长度字符串数据类型值吗?

excel - 保护和隐藏列与 "Very Hidden"表相同