因此,我一直在努力尝试自动化电子表格上的某些功能,并且在大多数情况下,我编写的 VBA 代码的行为符合预期。但让我抓狂的是自动填充应用程序用户名。所以我将它作为一个子运行,因为我有几个不同的函数在运行,这里是代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A4:A198")) Is Nothing Then
Call AutoName
End If
End Sub
Sub AutoName()
Dim myCells As Range
Set myCells = Selection
If myCells = (myCells.Value) Then
With myCells(1, 6)
.Value = Application.UserName
.EntireColumn.AutoFit
End With
With myCells(1, 5)
.Value = Date
End With
Else
With myCells(1, 6)
.Value = Null
End With
With myCells
.Value = Null
End With
End If
End Sub
当我在第一个单元格中输入信息时,它会自动将日期和用户名输入到正确的单元格中,就像它应该的那样,但是问题是双重的,首先是当我删除第一个单元格中的输入时,就会发生这种情况。
用户名保留在 TM 列中,然后填充到日期列中,然后日期填充到案例列中!我尝试添加 .ClearContents, Range.Delete 但无论如何它仍然会发生。我对此束手无策。这不是世界末日,它在大多数情况下都按预期运行,这只是一件令人讨厌的事情。第二个问题再次令人讨厌,如果我在第一个单元格中点击删除,它会自动填充日期单元格中的名称和案例单元格中的日期。同样不是世界末日,只是烦人。任何帮助将不胜感激我哪里出错了。如果不是很明显我是 VBA 的新手