大神关于VBA排序的问题
excel吧
全部回复
仅看楼主
level 4
我sheet2有2列数 按照第一列的数排序 按降序我弄了个录制宏 选中第一列然后排降序。然后在sheet1弄一个按钮。按钮vba程序是录制的,如下:
Private Sub CommandButton1_Click()
Sheets("Sheet2").Select
ActiveWindow.SmallScroll Down:=-24
Columns("A:A").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet2").Sort
.SetRange Range("A1:B34")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
但运行不行。提示
如果按钮在sheet2就没有问题。求大神讲解一下谢谢
2014年08月07日 07点08分 1
level 8
工作表的私有代码不能省略Range对象前面的Worksheet对象。
2014年08月07日 07点08分 2
能详细改改吗?不太懂谢谢[呵呵]
2014年08月07日 07点08分
level 8
用with代码加入工作表对象
Private Sub CommandButton1_Click()
With Worksheets("Sheet2")
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("A1"), SortOn:=xlSortOnValues, Order:=xlDescending
With .Sort
.SetRange Range("A1:B" & Cells(1, 1).End(xlDown).Row)
.Header = xlNo
.Apply
End With
End With
End Sub
2014年08月07日 08点08分 3
1