我不想为已填充数据的单元格运行vba代码

时间:2018-06-04 20:45:31

标签: excel excel-vba vba

我使用Google搜索并为自动用户名,日期,时间编写VBA代码 它在我的共享excel中运行良好。 一旦数据在单元格中输入,它就会自动给出用户名,日期,时间 过了一段时间,当有人要复制数据并按TAB键时 用户名,日期,时间都根据该人和时间,日期,

而变化

我只想为空单元格运行vba代码而不是已经填充数据的单元格, 我的意思是一次得到自动用户名,日期,时间,它为单元格,我不希望它第二次修改,即使有一些行动 和vba代码应仅针对空单元格运行,而不是针对已有单元格的数据

我的vba代码是:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 5 Then
        ThisRow = Target.Row
        If (ThisRow = 6) Then Exit Sub
        Range("I" & ThisRow).Value = Time()
        Range("A" & ThisRow).Value = Date
        Range("Z" & ThisRow).Value = Environ("username")

    End If
End Sub

1 个答案:

答案 0 :(得分:1)

此代码仅在目标行的A列为空时才会运行。

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 5 Then
        ThisRow = Target.Row
        If (ThisRow = 6) Then Exit Sub
        If Len(Target.Offset(, -4)) = 0 Then
            Range("I" & ThisRow).Value = Time()
            Range("A" & ThisRow).Value = Date
            Range("Z" & ThisRow).Value = Environ("username")
        End If
    End If
End Sub