vba - 排序字段的 add2 是什么

标签 vba excel sorting

当我使用宏记录器对 ListObject(表)进行排序时,它会生成:

ActiveWorkbook.Worksheets("Output").ListObjects("Table4").Sort.SortFields.Add2

在我的 Excel 版本中运行得非常好。但是,这不能在其他 Excel 上编译。将其更改为 .Add 即可解决问题。

Google 表示 .Add2 仅适用于 ChartObjects - 但记录器将其记录为 ListObject - 并且它可以在此处工作,但不能在其他 Excel(相同版本)中工作。

什么是.Add2?为什么我的 Excel 认为这是正确的方法?

最佳答案

这不是一个答案;我想补充一下我发现的情况。也许应该使用评论(但不能)。

  • 我可以确认 Excel 365 Business 宏记录器记录 Sort.SortFields.Add2如果您在 ListObject 或 Worksheet 上定义过滤器。
  • 无法确认该宏在另一台计算机上的相同 Excel 版本上不起作用(对我来说它有效;使用 Excel 16.0.10228.20080 32 位进行测试)。
  • Add2 MSDN 上没有记录 SortFields 的方法集合( 1 ),但适用于其他一些对象(因此“仅适用于 ChartObject”是不正确的)。
  • VBA 对象库(我的 Excel 版本,见上文)列出 Add2作为 SortFields 中的函数类(class); Add 之间的唯一区别和Add2好像是Add2还有一个可选参数 [SubField] .

结论:我猜(但这只是猜测!)Add2 to 是功能的扩展,出于兼容性原因已使用新名称实现。在这种情况下,宏录制器可能总是使用最新的函数。 您可以使用Add除非您需要 SubField范围。

我仍然希望获得更深入的了解,就像 Edwin Ederle 所要求的那样。我遇到这篇文章是因为完全相同的情况:使用记录器学习编码排序函数,想知道 Add2 ,并询问谷歌。如果您搜索“vba sortfields add2”,这个问题是第一个谷歌搜索结果(其中之一)=>也许值得在这里提供更多信息。

关于vba - 排序字段的 add2 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51148316/

相关文章:

sql - Excel VBA,如何进行多个数据库条目

vba - Outlook 2010 - VBA - 在 ItemSend 中设置密件抄送

ios - 如何根据不同 NSArray 中的相同对象顺序将 NSArray 项目分组?

java - 如何使用 Java 中的字符串或列表检查数字的数字是否按升序或降序排列?

vba - 循环范围,一旦找到值,复制单元格值和下面的所有内容并移动到下一列

ms-access - VBA - "With Statements"嵌套在 "IF Statements"内

Excel 公式返回单元格的自定义格式

python - 如何从大量数字中得到最大的数字?

excel - 使用标准 : Date & String & Empty Cells 计数单元格公式

excel - 如何使用VBA删除工作簿中的空白工作表?