这是我用来对除两个页面之外的每个页面应用排序的代码 . 系统抛出以下错误 . “范围类的选择方法失败” .
Private Sub CommandButton3_Click()Dim ws1 As Worksheet
For Each ws1 In Worksheets
If ws1.Name <> "Sheet1" And ws1.Name <> "Extra" Then
**ws1.Range("A1:V1000").Select** Something is wrong here I suspect
ActiveWorkbook.Worksheets(ws1).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(ws1).Sort.SortFields.Add Key:=Range("I2:I1000") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(ws1).Sort.SortFields.Add Key:=Range("T2:T1000") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(ws1).Sort
.SetRange Range("A1:V1000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
Next ws1
结束子
请帮忙 .
1 回答
我会在
Selecting
范围之前Select
工作表 . 更换:有:
如果您在后面的代码中使用
.Range()
而不是Range()
,则可能不需要这些Selections
. 此外,因为ws1
是工作表对象,所以:应该替换为:
代码可能存在其他问题 .