Excel 按列对数据进行排序
早些时候,代码运行得很好,但现在我再次面临排序字段中的问题。错误(需要运行时错误424对象,排序值为空 )Excel 按列对数据进行排序,excel,vba,columnsorting,Excel,Vba,Columnsorting,早些时候,代码运行得很好,但现在我再次面临排序字段中的问题。错误(需要运行时错误424对象,排序值为空 ) 应该sortRange=WorksheetFunction.Concat(“A1:”,“AM”,LR)besortRange=WorksheetFunction.Concat(“A1”,“AM”&LR)我尝试在.SetRange.SROh处修复,但仍然出现错误(运行时错误450-参数数目错误或属性分配无效)!你不需要那个。使用.SetRange SR(这假设SR是一个有效的范围。我认为您应
应该
sortRange=WorksheetFunction.Concat(“A1:”,“AM”,LR)
besortRange=WorksheetFunction.Concat(“A1”,“AM”&LR)
我尝试在.SetRange.SROh处修复,但仍然出现错误(运行时错误450-参数数目错误或属性分配无效)!你不需要那个
。使用.SetRange SR
(这假设SR
是一个有效的范围。我认为您应该实际执行Set SR=range(“A1:AM”&LR)
。否则我认为您的sortRange
将是这些单元格中的一个值字符串,而不是一个有效的“字符串范围”?嗨,Bruce,您提到的设置SR仍然会收到相同类型的错误,并且SR在您编写的代码中没有值,并且SR.Select
deleted,该错误行应该是.SetRange SR
。它在这里起作用。如果不起作用,?SR.Address
在即时窗口中返回什么。
ThisWorkbook.Sheets("Sheet1").Activate
Dim LR As Long
Dim SR As Range
LR = Range("D1").SpecialCells(xlCellTypeLastCell).Row
Set SR = Range("A1:AM" & LR)
With Sort
.SortFields.Clear
.SortFields.Add Key:= _
Range("D1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange.SR
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With