【发布时间】:2013-06-21 10:08:09
【问题描述】:
我有几行包含数据和运行宏时与数据相邻的“标志”。
例如:
名字 | 姓 | 标记
John | Smith | Needs a Bath
Cindy | LuWho |
Bob | Loblaw | Needs a Bath
目标:
我希望将不带标志的行(即列 C == NULL/空字符串)排序到顶部,然后按 A->Z 按列 B 排序以获得此:
辛迪 |卢谁 |
鲍勃 |洛布劳 |需要洗澡
John |史密斯 | 需要洗澡
我的尝试:
使用 Excel 2007 的“排序”,我完成了排序依据(C 列)、排序依据(值)排序依据(A 到 Z)和(Z 到 A)。 A 到 Z 和 Z 到 A 都导致标记的行位于顶部,而不是底部。
之前:
之后:
我最终想要代码,但我目前正试图弄清楚如何手动完成,这样我就可以通过 Excel 的“记录宏”获取代码。
【问题讨论】:
-
你确定吗?我只有 Excel 2010,但是当我将此 Z 排序为 A 时,空白在顶部。当我从 A 到 Z 排序时,底部有空白。如果他们改变了
Sort功能的工作方式,我会感到惊讶。 -
我在 2007 年尝试过,从 A 到 Z 排序得到了您期望的结果。我不确定你做了什么,但你做错了:D
-
我已经更新了过程图像。如果您以某种不同的方式处理此问题,或者知道我在这里做错了什么,请告诉我。
-
@David Zemens 和@Alexandre,你们都使用空白字段吗?这里的不同之处在于 Kurt 在 C 列中使用了一个公式。如果您将空白单元格替换为
="",您可以获得 Kurt 描述的行为。 -
@PowerUser 嗯,很好。排序公式总是有点问题。正如您所建议的,帮助列可能是执行此操作的最佳方式。
标签: sorting excel excel-2007 vba