excel2007自动填写当前日期,第二天填写时自动显示为第二天的,且第一天的不变

2024-12-01 17:21:17
推荐回答(2个)
回答1:

得用VBA解决,操作方法如下:

步骤1:右击工作表标签>>>查看代码(或按快捷键Alt+F11),如下图:

步骤2:在代码窗口粘贴下面的代码,如下图:

Private Sub Worksheet_Change(ByVal Target As Range)
    With Target '多次调用同一对象,使用With语句,加快代码运行
        If .Count > 1 Then Exit Sub '如果改变的单元格超过1个就退出过程
        If .Row < 5 Then Exit Sub '如果改变的单元格行号小于5就退出过程
        If .Column <> 4 Then Exit Sub '如果改变的单元格不是第4列就退出过程
        If .Value = "" Then '如果清空单元格
            .Offset(0, -2) = "" '同行左移两列(既B列)单元格也清空内容
        Else
            .Offset(0, -2) = Date '否则(既输入客户名称)后B列单元格输入当前日期
        End If
    End With '结束With语句
End Sub

步骤3:关闭VBA编辑器(点击上图右上角的红色关闭按钮)就OK了。

当输入客户名称,B列自动输入当前日期,如下图:

当清除客户名称,如客户2,则对应的日期也清除,如下图:

回答2:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Row > 4 And Target.Column = 4 Then
Cells(Target.Row, 2) = Int(Now())
End If
End Sub