经过几个小时的搜索后,我找不到任何如何执行此操作的示例。
我正在尝试在Excel工作表上创建2个按钮以进行时间跟踪(以便轻松记录我的日常活动)。一个时钟输入按钮和一个时钟输出按钮。使用正确的脚本设置和工作按钮。目前,他们只使用以下内容将当前时间写入所选单元格:
ActiveCell.Value = Time
这很好用,但我想要一些更自动化的东西。 我希望每个按钮要做的是从第2行扫描列(时钟输入,例如列C)到第一个空白单元格,然后将当前时间插入该单元格(所以C2将具有时间)。下次按下按钮时,它会将时间输入C3。接下来按下会输入时间到C4等等。这是我想要做的基本想法。
我试图在Excel 2007中执行此操作,如果这很重要 的加成: 如何使用一个按钮同时执行两个时钟输入/输出。不需要,但会很有趣。
谢谢,
富
答案 0 :(得分:0)
Sub clock_in()
Cells(2, 3).Select ' starts at cell C2
Do Until ActiveCell = ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = Time
End Sub
工作原理:此例程从单元格C2
开始,沿着列向下查找第一个使用Do Loop
语句的空白单元格。一旦找到空白单元格,do循环结束,时间放在空白(活动)单元格中。
答案 1 :(得分:0)
另一种方式:
Sub clock_in()
Cells(2, 3).Select ' starts at cell C2
If Cells(2, 3) = "" Then
Cells(2, 3) = Time
Exit Sub
End If
If Cells(3, 3) = "" Then
Cells(3, 3) = Time
Exit Sub
End If
Selection.End(xlDown).Offset(1, 0).Value = Time
End Sub
此路由检查以查看单元格C2
是否为空。如果是,则将时间放在单元格C2
中。如果它不是空的,它会检查单元格C3
并将时间放在该单元格中。但如果C3
不为空,则使用end select
语句查找下一个空白单元格。它检查单元格C2
& C3
如果您执行end select
语句并且单元格C2
或C3
为空,则会显示在电子表格中C
列的底部。< / p>