使用Excel 2003中的VBA按单元格背景颜色对数据进行排序

时间:2016-03-07 21:48:50

标签: excel excel-vba sorting worksheet-function vba

提前致谢。

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

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

1 个答案:

答案 0 :(得分:2)

从Excel 2007开始,您可以按照以下步骤执行此任务:首先,选择工作表范围,然后单击Sort->Advanced,然后在对话框中选择" Sort On&#34 ;选项" 单元格颜色",并根据您的任务对其进行自定义。您可以使用宏记录器生成基本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 +)。

希望这会有所帮助。