【问题标题】:How to do both, an alphabetical sort and an other specific sort for a column?如何对列进行字母排序和其他特定排序?
【发布时间】:2019-07-17 17:32:32
【问题描述】:

我是 VBA 的初学者,我尝试在 aplhebitical 排序之后进行特定排序。

最初,所有数据都被打乱,我使用以下代码应用了排序以按字母顺序排序:

Range ("A1", Range("A1").End(xlDwn)).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo

请在我的 Excel 表格的第一列下方按字母排序后找到。

   Column A
String_Atest_1
String_Btest_2
String_C60_APT
String_C60_BLD
String_C60_FUD
String_C60_TED
String_C63_APT
String_C63_BLD
String_C63_FUD
String_C63_TED
String_C64_APT
String_C64_BLD
String_C64_FUD
String_C64_TED
...

但我的目标是按以下特定顺序进行字母排序:FUD, TED, BLD, APT

所以例外的结果是:

   Column A
String_Atest_1
String_Btest_2
String_C60_FUD
String_C60_TED
String_C60_BLD
String_C60_APT
String_C63_FUD
String_C63_TED
String_C63_BLD
String_C63_APT
String_C64_FUD
String_C64_TED
String_C64_BLD
String_C64_APT
...

有人可以帮我做这件事吗?非常感谢。

【问题讨论】:

  • 我相信您需要创建一个自定义列表。
  • 如何为您的关键字分配数字(FUD->1、TED->2 等)并使用相应的数字创建一个附加列?然后,您可以使用此列对数据进行排序。

标签: excel vba


【解决方案1】:

你可以在没有 VBA 的情况下做到这一点(如果你愿意的话)

  • 创建您自己的自定义排序列表:文件 > 选项 > 高级 > 常规编辑自定义列表 > 导入 或输入您的值。 Here 是一个演练。
  • 选择您的范围,然后在功能区中点击数据 > 排序
  • 第一条规则是 B A-z 列
  • 为 C 列添加第二条规则,然后在 Order 下拉列表中选择 Custom List 并选择列表 FUD, Ted, BLD, APT
  • 选择是否使用标题(我在下面的示例中使用了它们)
  • 确认,结果应如下所示:

您可以通过 VBA 自动执行此过程,例如 herehere

【讨论】:

  • 非常感谢您的回答。我更新了我的问题,确实我的字符串只在一列上,而不是在三列上拆分。结果只需要在一列中。
猜你喜欢
  • 1970-01-01
  • 2011-02-03
  • 2018-06-24
  • 1970-01-01
  • 1970-01-01
  • 2016-04-08
  • 1970-01-01
  • 2021-05-21
  • 2018-09-03
相关资源
最近更新 更多