【发布时间】:2018-04-30 23:31:57
【问题描述】:
我正在尝试在 Excel 中创建一个宏,该宏将按 A、C 和 F 列对电子表格进行排序。我在网上找到了一些信息来帮助我入门。下面是代码。我面临的挑战是,电子表格每天将包含不同数量的行。 (列将始终相同,但行数会改变)。只要电子表格不包含超过 9999 行(包括列标题),下面的脚本就会对我的数据进行排序。如果我有 10,000 行或更多行,则宏将失败。
如何更新以下代码以使其运行而不管行数如何?您可以提供的任何帮助将不胜感激。谢谢
Sub Multi_Sort()
'
' Multi_Sort Macro
'
Dim lngLast As Long
lngLast = Range("A" & Rows.Count).End(xlUp).Row
With Worksheets("Sheet1").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A1:A1" & lngLast), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C1:C1" & lngLast), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("F1:F1" & lngLast), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A1:F" & lngLast)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
【问题讨论】:
-
“宏失败”是什么意思?
-
我收到运行时错误“1004”:
-
对象'_Global'的方法'范围'失败