2
我有一个Excel工作表与一些VBA代码,当我改变一个特定的单元格时,它会自动将今天的日期设置到它旁边的单元格中。Excel Worksheet_Change事件触发时删除行
这一切都很好,但是当我删除特定单元格上方的整行时,它会自动将日期更改为今天的日期。
这是我使用的代码会自动更改单元格:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.Sheets("Example").Range("H10: H306, M10: M306, R10: R306, W10: W306, AB10: AB306, AG10: AG306"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Sheets("Example").Unprotect
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy"
Sheets("Example").Protect
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
是有人熟悉这个问题?
非常感谢您!这解决了我的问题。 – Graaf
很高兴能帮到你! ;)@Graaf – R3uK