一位网友问我,用Excel制作了一份考勤表,员工上班时,门卫在相应的单元格中输入数值1,能否让系统自动在其右边的单元格中输入相应的时间呢?
对于这个问题,只有用VBA来实现了:右击考勤表所在的工作表标签(Sheet1),在随后出现的快捷菜单中,选择“查看代码”选项,打开Visual Basic窗口(如图1)。并将下述代码输入到右侧的窗口区域中:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Or Target.Column = 5 Then
Target.Offset(0, 1) = Time
End If
End Sub
以后我们只要在C列(Target.Column = 3)或者E列(Target.Column = 5)单元格中输入字符,系统即刻在对应的D列或者F列单元格中输入系统时间(如图2)。
注意:在VBA代码中,Date、Now、Time分别表示系统日期、日期及时间、时间。