excel - 复制粘贴数据,然后对其进行排序,但出现错误
问题描述
我一直在使用下面的代码,它从不同的工作表中复制数据并将其粘贴到不同的工作表上,然后根据要求对其进行排序。
现在我一直面临一个问题,当我使用Office 365
它时它工作正常,当使用它时Office 2016
出现错误。如果代码在 365 上运行,为什么会出现错误。
在线上
Sheet2.AutoFilter.Sort.SortFields.Add2 Key:=Range _
("DI1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
这是我的完整代码
Sheet2.Range("DH1:DJ1").AutoFilter
Sheet2.AutoFilter.Sort.SortFields.Clear
Sheet2.AutoFilter.Sort.SortFields.Add2 Key:=Range _
("DI1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With Sheet2.AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
解决方案
该Add
方法的官方描述包括以下段落。
“此 API 不支持数据类型,例如地理或股票。要根据其中一种类型的子字段定义排序顺序,请参阅 Add2 方法。”
因此,该方法足以满足所有正常使用,并且只有在需要该方法不支持Add
的特定排序顺序时才应调用 Add2 方法。Add
根据经验:如果您不指定Subfield
属性,请不要指定Add2
.
这适用于 Excel 2016 和 Office 365,不同之处在于 Excel 2016 无法识别该Add2
方法。
推荐阅读
- android - 如何从任何地方从 MainActivity 获取上下文以及如何访问它的功能?
- java - Java - 获取 Windows 登录用户
- odoo - 如何为 Odoo 12 日历视图事件设置自定义颜色?
- javascript - 无法从 fetch 中获取 JSON 列表 ReactJS
- python - 是否可以使用 Myo Armband 等设备远程控制 NAO 机器人?
- ldap - 无法在 Ubuntu 18.04 LTS 上进行 ldap 身份验证
- sql - 如何从matlab中的表更新sql数据库中的整个表
- python - 总结 Pandas 数据框中的值分布
- ionic-framework - ionic 4 更改按钮的大小和颜色问题
- squeryl - 从带有 where 子句中的案例类值列表的表中选择