excel - 如何将我在 Excel 中执行某些任务的时间和日期保存在给定的单元格中?
问题描述
我想知道如何在 Excel 中记录我完成某项任务的时间和日期。
示例:我在单元格中插入了一个数字A2
,我希望 Excel 显示我什么时候在单元格中插入了该数字A2
。
Private Sub Time()
Dim r As Integer
Dim v As Integer
For r = 1 To 700
If IsEmpty(Cells(r, 2)) = True Then
Cells(r, 1) = ""
Else
Cells(r, 1) = Time()
End If
Next
End Sub
这不起作用,因为每当我在第 2 列中写入一些新数字并执行宏时,由于 For 循环,VBA 会覆盖以前的时间。
解决方案
使用您当前的方法,您必须手动运行宏来捕获时间戳(如果您手动运行宏,为什么不手动使用热键插入时间戳?)
如果您必须使用 VBA,这可能是更好的选择。
当单元格发生物理变化时,以下代码将自动执行(方程式更改/格式不会触发宏)。触发后,宏将在 column 下方构建所做的每个更改的Range
/集合(仅限于粘贴此代码的工作表) 。Time Stamp
Z
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim LRow As Long
LRow = Range("Z" & Rows.Count).End(xlUp).Offset(1).Row
Range("Z" & LRow) = Target.Address(False, False) & " changed at " & Now
Application.EnableEvents = True
End Sub
示例输出:
推荐阅读
- .htaccess - Laravel 6:使用 htaccess 从 URL 中删除 Public
- java - 连接池有数百个空闲连接
- javascript - NGRX - 在单个效果的多个动作中捕捉动作
- javascript - 变量值不会在函数中更新
- powershell - Set-ADuser extensionAttribute 不起作用,但标题之类的东西会
- c# - 为什么我的 Razor 'RenderSection' 不会被孙子视图继承?
- neo4j - Neo4j 可以在 MERGE 语句后添加 WHERE 子句吗?
- azure-functions - Azure 函数无法在 Azure 门户中下载 PowerShell Core 的托管依赖项
- c++ - 关闭对话框而不显示用户“exe 已停止工作”消息
- javascript - 如何访问另一个对象内的对象的属性