首页 > 解决方案 > 在 Excel 中自动获取当前时间

问题描述

我正在尝试为我的工作构建一个任务跟踪器,以汇总我在各种任务上花费的时间。

任务跟踪器的示例行

目前,我正在使用 Ctrl + ;、空格、Ctrl + Shift +; 手动输入每个任务的开始和完成时间。如果可能的话,我想做的是让开始时间列在我将下拉选项设置为“正在进行中”的任何时刻填充当前时间,然后在结束时间列中执行相同的操作那一刻我将其更改为“关闭”。

下拉式菜单

有任何想法吗?

标签: excelvba

解决方案


如果下拉菜单是表单控件(与 ActiveX 控件相反),则可以右键单击它并选择Assign Macro.

它应该默认为DropDown1_Change,您可以单击New

然后粘贴“类似”的代码:

Sub DropDown1_Change()
    If Range("A4") = 1 Then Range("A1") = Now()
End Sub

应该已经为您填充了第一行和最后一行。


您需要根据需要调整代码。在这个例子中:

  • 下拉菜单被命名为Drop Down 1
  • 单元格A4是我的下拉菜单 的单元格链接。
  • 单元格A1是我想要日期的单元格。
  • 我想在1从下拉的Input Range中选择 item # 时运行代码。

如果您的控件恰好是 ActiveX DropDown/ComboBox,则步骤类似:

  • 右键单击控件并选择View Code
  • 您将立即进入 VBA 编辑器。
  • 粘贴代码。

推荐阅读