Excel 两个时间戳代码同时工作?
我需要帮助编写一个代码,当在I中输入任何值时,该代码将允许在H列中输入日期/时间戳。现在,当在B列中输入值时,下面的代码允许在G中输入时间戳。我需要做什么Excel 两个时间戳代码同时工作?,excel,vba,timestamp,datestamp,Excel,Vba,Timestamp,Datestamp,我需要帮助编写一个代码,当在I中输入任何值时,该代码将允许在H列中输入日期/时间戳。现在,当在B列中输入值时,下面的代码允许在G中输入时间戳。我需要做什么 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rCell As Range Dim rChange As Range On Error GoTo ErrHandler Set rChange = Intersect(Target,
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim rCell As Range
Dim rChange As Range
On Error GoTo ErrHandler
Set rChange = Intersect(Target, Range("B:B"))
If Not rChange Is Nothing Then
Application.EnableEvents = False
For Each rCell In rChange
If rCell > "" Then
With rCell.Offset(0, 5)
.Value = Now
.NumberFormat = "mm-dd-yy h:mm AM/PM"
End With
Else
rCell.Offset(0, 5).Clear
End If
Next
End If
ExitHandler:
Set rCell = Nothing
Set rChange = Nothing
Application.EnableEvents = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
您可以为第二个范围添加
ElseIf
,也可以在交叉点的主要检查中包含I:I,并根据接收添加/删除/修改的是B:B还是I:I来决定在何处填充时间戳。我将演示后者
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim rCell As Range
Dim rChange As Range
On Error GoTo ErrHandler
Set rChange = Intersect(Target, Range("B:B, I:I")) '<- note change
If Not rChange Is Nothing Then
Application.EnableEvents = False
For Each rCell In rChange
If rCell > "" Then
With rCell.Offset(0, 5 + (rCell.Column = 9) * 6) '<- note change
.Value = Now
.NumberFormat = "mm-dd-yy h:mm AM/PM"
End With
Else
rCell.Offset(0, 5 + (rCell.Column = 9) * 6).Clear '<- note change
End If
Next
End If
ExitHandler:
Set rCell = Nothing
Set rChange = Nothing
Application.EnableEvents = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
Private子工作表\u更改(ByVal目标为Excel.Range)
变暗rCell As范围
Dim rChange As范围
关于错误转到错误处理程序
设置rChange=Intersect(目标,范围(“B:B,I:I”))”,然后
使用rCell.Offset(0,5+(rCell.Column=9)*6)“我不太明白您需要做什么。您是否需要在两个不同的单元格中存储相同的时间戳?您已经有了执行此任务的代码-您是否尝试过使用它,看看是否可以让它在不同的范围内重复这些操作?我正在尝试获取两个不同的时间戳,一个用于取出设备,另一个用于归还设备,