我有以下3个表,它们从较大的表中提取值,并且一旦主数据发生更改,我还需要这些表以及图表以升序自动排序。 Screenshot 我得到表1使用以下VBA代码在更新时自动排序,但是由于某种原因,它在表2和3上不起作用。(请注意,我仅更改了代码中的列索引),而对其他表没有帮助表enter image description here
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("X:X")) Is Nothing Then
Range("X4").Sort _
Key1:=Range("X4"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
If Not Intersect(Target, Range("AK:AK")) Is Nothing Then
Range("AK4").Sort _
Key1:=Range("AK4"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
If Not Intersect(Target, Range("AY:AY")) Is Nothing Then
Range("AY4").Sort _
Key1:=Range("AY4"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
欢迎任何建议更正
答案 0 :(得分:0)
首先删除On Error Resume Next
,它只会通过忽略/跳过它们来帮助您发现问题。这是一个不良习惯,需要打破。
您不能仅通过将其命名为2和3来创建新的事件过程。将所有必需的代码放在单个Change事件中。也就是说,每张纸只有一个Change事件。