如何对一列同时进行字母排序和其他特定排序?

时间:2019-07-17 07:38:07

标签: excel vba

我是VBA的初学者,我尝试过随意的排序。

最初,所有数据都被重新整理,我使用以下代码对字母进行排序:

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
...

有人可以帮助我做到这一点吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以在没有VBA的情况下执行此操作(如果需要)

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

enter image description here

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