【发布时间】:2014-04-15 01:53:25
【问题描述】:
我想根据他们的姓氏(即第 1 列)对工作表上的信息进行排序。工作表上有一个form control 按钮,可根据按钮名称过滤信息。每次点击每个form control 按钮时,我都想按字母顺序对信息进行排序。所以我在宏上使用了record 来查看excel 做了什么来熟悉它,但我很困惑......问题是r 和countA 它给了我type mismatch 的错误
我总共有 17 列(A 到 Q - 但我不想真正为列设置范围,以防我稍后添加更多列)包含与 last name 相关的信息,即列1 并从第 3 行开始
Sub btnPrinceRupert()
Dim ws As Worksheet
Dim r As Range
Set r = ws.Cells(2, 1)
Set ws = Worksheets("Master")
Call filterMyTable(xPrinceRupert)
Call changeTitle("PrinceRupert")
r.Select
ws.Sort.SortFields.Clear
ws.Sort.SortFields.Add Key:=r, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ws.sort
.SetRange (WorksheetFunction.CountA(Range("A:A")))
'essentially, i want the range to be up to the last entry of the table
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
【问题讨论】: