我想根据第二行(新旧)列的值(Date)对工作表进行排序,从第二行开始直到结束。
我写了代码,但总是出现错误:1004,排序引用无效。有人碰巧知道解决方案吗?
谢谢。
Workbooks("Task2.xlsm").Worksheets("Data").Column("A:CA").Sort key1:=Range("H2"), order1:=xlDescending, Header:=xlYes
自第二行开始按列值排序工作表
0
A
回答
0
我录制一个宏,我找到了答案(它可以简化):
Workbooks("Task2.xlsm").Worksheets("Data").AutoFilter.Sort.SortFields.Clear
Workbooks("Task2.xlsm").Worksheets("Data").AutoFilter.Sort.SortFields.Add Key:=Range("H1"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortTextAsNumbers
With Workbooks("Task2.xlsm").Worksheets("Data").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
0
做你想做key1:=Range("H:H")?
我假设H列是你的钥匙,而不是单个细胞H2。
0
变化Column
到Columns
(错字中发布您的代码,我认为)
然后你就会有一个运行时错误,每当Worksheets("Data")
是不是当前活动工作表。最好的办法是完全避免这种类型的错误,并用的Range("H2")
前whcih使得指明确在指定的纸张合格范围
With Workbooks("Task2.xlsm").Worksheets("Data")
.Column("A:CA").Sort key1:=.Range("H2"), order1:=xlDescending, Header:=xlYes
End with
^^^^
通知的.
(点)总是工作with
条款。没有这一点,你正在使用不合格的范围,它指的是当前活动的工作表。
+0
谢谢A.S.H.我也找到了答案。 – Francis
相关问题
- 1. MySQL按第一列排序,按第二列排序
- 2. 排序元组列表的第二项不工作在python
- 3. Mysql按第一列然后第二个按顺序排列
- 4. 排序原始表按降序排列
- 5. SQL:按第一个关系对第二个表进行排序
- 6. 按元素列表的第二个元素对列表进行排序
- 7. Javascript:按照第二列desc排序二维数组,然后按第一列asc
- 8. Python - 阅读第二排开始
- 9. 按第一列排序第二列使用tablesorter
- 10. 从第5行开始按字母排序使用VBA
- 11. 排序由第二列
- 12. 排序下拉列表按值排列
- 13. 按第二个值对字典进行排序
- 14. 基于第二列对2D列表进行排序
- 15. 按方案中对的第二个元素对排序列表
- 16. dgrid自定义排序与第二排序列
- 17. 按行排序二维阵列
- 18. 行值是第二表中的列名,需要从第二表
- 19. Mysql:按第二个表中的匹配行数排序结果
- 20. 第二个名字排序列表,但如果第二个名字是相同的,按名排序
- 21. 如何排序多列列表视图(按第二列)从自定义基础适配器获取值
- 22. 按第二个值对二维数组排序
- 23. 排序第三列离开第一列和第二列完整(在Linux中)
- 24. 对一列中的第二个值进行排序rich:dataTable
- 25. 按自定义列表排序对DataTable进行排序
- 26. 在ClosedXML中,如何按列对工作表进行排序?
- 27. 按第一个元素对元素列表排序,但如果按第二个元素排序则等于
- 28. 当找到第二列值时,根据列值排除行
- 29. Bash shell - 按第二个字母对单词列表进行排序?
- 30. 如何在保留第一列的排序的同时按第二列进行排序?
谢谢桑杰! – Francis