我想创建一个 excel 来记录一些时间(上班,下班吃饭......)。我认为最好的方法是使用 vba 代码进行 excel 处理。
我放了一些按钮(比如我上传的照片)来记录一些重要的时间,我创建了一个表格,其中包含每月的天数和要记录的事件。
但是,问题出在 vba 代码中。我对 excel vba 非常不熟练,只能得到以下代码:
Sub time()
ActiveCell.Value = Now
End Sub
在活动单元格中,此代码写入时间戳......但我想要更高级的代码。例如,我有按钮“进入工作”,当我按下它时我想要:
我不知道该怎么做。谁能帮我?
您可以执行以下操作。首先,您将获得日期的最后一行,而不仅仅是使用循环来循环并将Now()
工作表上的日期与返回今天日期的函数进行比较。然后您可以使用 将offset
时间写入下一个单元格。您可以将宏分配给电子表格上的按钮,并且每次都会触发。我想您可以在尝试写入之前放置另一个 if 语句来检查单元格中是否有值,以避免覆盖数据。请注意工作表上的日期格式应为14/05/2019
.
Option Explicit
Sub FillInForm()
Dim WS As Worksheet
Dim i As Long
Dim LRow As Long
Dim dateFormatter As String
Dim xDate As Date
Set WS = ActiveSheet
dateFormatter = Format(Now, "dd/mm/yyyy")
xDate = CDate(dateFormatter)
With WS
LRow = .Range("B" & .Rows.Count).End(xlUp).Row
For i = 5 To LRow
If CDate(.Range("B" & i).value) = CDate(xDate) Then
If .Range("B" & i).Offset(0, 1).value = vbNullString Then
.Range("B" & i).Offset(0, 1).value = VBA.DateTime.Time
End If
End If
Next i
End With
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句