作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个很好用的代码:
Sub NewSortTest()
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add key:=Range("A1:A20") _
, SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"alpha,bravo,charlie,delta,echo,foxtrot,golf,hotel,india,juliet", DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:B20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
keyRange
的变量来修改上述代码。为
CustomOrder:=
:
Sub NewSortTest()
Dim keyRange As String
keyRange = "alpha,bravo,charlie,delta,echo,foxtrot,golf,hotel,india,juliet"
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add key:=Range("A1:A20") _
, SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
keyRange, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:B20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
CustomOrder:=
类型为
Variant
.我试过
Variant
而不是
String
,但我得到了同样的错误。
最佳答案
很高兴你想出来了。以下也适用(按 this post ):
Sub NewSortTest()
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1:A20"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
CustomOrder:=keyRange, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:B20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Function keyRange() As String
keyRange = "alpha,bravo,charlie,delta,echo,foxtrot,golf,hotel,india,juliet"
End Function
CustomOrder:=CVar(keyRange)
CustomOrder
上的帮助文档正如您在搜索中发现的那样,该属性(property)没有任何肉类。我一直在尝试不同的东西,看看我是否能得到答案,但我运气不佳。我想
CustomOrder
在后台做一些魔术。使用
String
就可以了文字或
Long
,正如你所发现的。它没有问题
String
正确转换为
Variant
.但它不喜欢
String
变量。肯定跟
String
有关变量是引用类型。我不知道为什么它不能处理这个问题,但我也不知道它是如何从
String
动态创建自定义列表的。文字。如果你找到任何可以解释它的东西,我很想知道。
关于CustomOrder 上的 VBA 类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22366188/
我有这个很好用的代码: Sub NewSortTest() ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear Acti
我正在尝试制作多级排序宏,而行数是动态的。我一直在处理一些测试数据以尝试使其正常工作,但是我不断从 Excel 中收到 1004 个运行时错误。希望第二双眼睛能帮助解决这个问题。 这是测试数据 A
我是一名优秀的程序员,十分优秀!