【问题标题】:Sort data by cell background color using VBA in Excel 2003在 Excel 2003 中使用 VBA 按单元格背景颜色对数据进行排序
【发布时间】:2016-05-06 15:20:19
【问题描述】:

提前致谢。

谁能帮我在 Excel 2003 中使用单元格背景颜色对数据进行排序。

我有 400 行,其中 30 行的单元格范围 A1 用黄色背景填充。我需要根据 VBA 中的颜色对数据进行排序,以减少对数据进行的迭代次数(如果我可以对数据进行排序,则排序后的数据将位于顶部,我只能解析 30 行而不是循环所有 400 行) .

【问题讨论】:

  • 开发者标签->录制宏->手动过滤->停止录制->Alt+F11查看代码
  • 我在 Excel 2003 中看不到用于排序的高级选项。我需要它来按格式排序。我该如何启用它?在启用高级排序之前,录制宏是没有用的..

标签: excel sorting worksheet-function vba


【解决方案1】:

从 Excel 2007 开始,您可以按以下步骤执行此任务:首先,选择工作表范围,然后单击 Sort->Advanced,然后在对话框中选择“Sort On”选项“单元格颜色",并根据您的任务对其进行自定义。您可以使用宏记录器生成基本的 VBA 代码(如果您希望我们对其进行优化,请将其包含在您的帖子中)。

与 Excel 2003 相关,可能的解决方案是使用放置在代码模块中的辅助函数:

' in Excel 2003 it could be Public by default if placed in code Module
Public Function BackgroundColorIndex(myRange As Range)
    BackgroundColorIndex = myRange.Interior.ColorIndex
End Function

然后将此函数添加到某个辅助列并对该列中的值进行排序。此解决方案也适用于更高版本的 Excel (2007+)。

希望这会有所帮助。

【讨论】:

  • 我在 Excel 2003 中看不到用于排序的高级选项。如何启用它?
  • 我已经扩展了提供通用解决方案的答案。最好的问候,
猜你喜欢
  • 2013-03-18
  • 2012-12-15
  • 2014-07-02
  • 1970-01-01
  • 2016-11-13
  • 2017-09-17
  • 2019-03-28
  • 1970-01-01
  • 2020-12-18
相关资源
最近更新 更多