Excel 删除多个单元格后,工作表更改事件不会进行
Excel Worksheet Change Event Not Going when multiple cells deleted
我已准备好代码来触发更改事件,该事件将恢复我的数据。该图表在 A-D 列中包含信息。只要 D 列中的值发生变化,代码就会触发对数据进行重新排序。这在我输入新数据以及删除 D 列中的单元格内容时有效,但是,如果我 select 某行 A-D 列中的信息,然后点击删除,删除所有内容该行中包含数据的四个单元格事件不会触发。我需要改变什么才能做到这一点?代码是
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
Application.EnableEvents = False
Range(Cells(1, 1), Cells(90, 1)).Select
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range(Cells(2, 1), Cells(90, 1)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet2").Sort
.SetRange Range(Cells(1, 1), Cells(90, 4))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("E4").Select
Application.EnableEvents = True
End If
End Sub
您使用了:
If Target.Column = 4 Then
尝试使用:
If Not Intersect(Target, Range("D:D")) Is Nothing Then
我已准备好代码来触发更改事件,该事件将恢复我的数据。该图表在 A-D 列中包含信息。只要 D 列中的值发生变化,代码就会触发对数据进行重新排序。这在我输入新数据以及删除 D 列中的单元格内容时有效,但是,如果我 select 某行 A-D 列中的信息,然后点击删除,删除所有内容该行中包含数据的四个单元格事件不会触发。我需要改变什么才能做到这一点?代码是
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
Application.EnableEvents = False
Range(Cells(1, 1), Cells(90, 1)).Select
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range(Cells(2, 1), Cells(90, 1)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet2").Sort
.SetRange Range(Cells(1, 1), Cells(90, 4))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("E4").Select
Application.EnableEvents = True
End If
End Sub
您使用了:
If Target.Column = 4 Then
尝试使用:
If Not Intersect(Target, Range("D:D")) Is Nothing Then