【发布时间】:2019-07-01 16:48:33
【问题描述】:
我有以下 3 个表格,它们从一个更大的表格中提取值,我需要表格和图表在主数据更改后按升序自动排序。 Screenshot 我让表 1 使用以下 VBA 代码在更新时自动排序,但由于某种原因,它不适用于表 2 和表 3。(请注意,我只更改了代码中的 Column indeces),这对其他的没有帮助表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
欢迎大家指正
【问题讨论】:
-
只需将其他两个方法中的
if not intersect代码添加到第一个中 -
这仍然只对第一张桌子有帮助
-
你为什么要排序
OrderCustom:=1。你真的有想要使用的自定义排序列表吗? -
不知道,我只是想按升序对其进行排序,并找到了我调整以适合我的工作簿的类似代码。那我的情况会是什么?
标签: excel vba sorting pivot-table