我希望使用VBA宏,它将排序'列但是“隐藏”#39;所有其他文字。
该列填充了三个字母的文本,即MFA,KDB,OPA等......
这是我目前找到的代码:
Sub SortByName()
With ActiveSheet
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("V:V"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
CustomOrder:="MFA", _
DataOption:=xlSortNormal
.Sort.SetRange .Range("A:AA")
.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
End Sub
此代码效果很好,但它不会隐藏不受欢迎的行,其中的文字不是' MFA'
非常感谢:)
答案 0 :(得分:0)
如上所述,使用AutoFilter
隐藏不包含'MFA'
Option Explicit
Public Sub SortByName()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("V:V"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
CustomOrder:="MFA", _
DataOption:=xlSortNormal
.Sort.SetRange .Range("A:AA")
.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
.UsedRange.Columns("V").AutoFilter Field:=1, Criteria1:="MFA"
'Or: .Range("A:AA").AutoFilter Field:=22, Criteria1:="MFA"
End With
End Sub