在Excel 2003中使用VBA按单元格背景颜色对数据进行sorting

提前致谢。

有人可以帮助我在Excel 2003中使用单元格背景颜色对数据进行sorting

我有400行,其中30行有单元格区域A1填充背景颜色黄色。 我需要根据VBA中的颜色对数据进行sorting,以减less对数据执行的迭代次数(如果我可以对数据进行sorting,则sorting的数据将位于顶部,我只能parsing30行而不是循环所有400行) 。

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

与Excel 2003相关,可能的解决scheme将使用放置在代码模块中的帮助函数:

 ' 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 

然后将此函数添加到某个辅助列并对该列中的值进行sorting。 此解决scheme也可以在以后的Excel版本(2007+)中使用。

希望这会有所帮助。