正如主题所示,我希望我的 Excel 公式在相应单元格上键入数据后自动显示日期和时间。我可以在 A 列和 B 列上获取日期和时间,同时在 C 列上键入数据。下面是我的 VBA 代码。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Input")) Is Nothing Then
Application.EnableEvents = False
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
Range("MyList").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("Criteria"), Unique:=False
Application.EnableEvents = True
End If
If Target.Column <> 3 Then Exit Sub
Application.EnableEvents = False
If Target.Offset(0, -2).Value = "" And Target.Offset(0, -2).Value = "" Then
Target.Offset(0, -2).Value = Date
Target.Offset(0, -1).Value = Time
End If
Application.EnableEvents = True
End Sub
我想要在 I 列和 J 列上输入相同的内容,同时在 K 列和其他列上键入数据,也与照片上一样
谢谢你。
个人喜好,但对于这种情况,我会使用
Select
而不是 If-statement
,以使其更加干净。
如有必要,它还可以让以后更轻松地进行修改。
Select Case Target.Column
Case 3, 11
Application.EnableEvents = False
If Target.Offset(0, -2).Value = "" And Target.Offset(0, -2).Value = "" Then
Target.Offset(0, -2).Value = Date
Target.Offset(0, -1).Value = Time
End If
Case Else
Exit Sub
End Select