2016-03-07 207 views
1

在此先感谢。使用Excel 2003中的VBA按单元格背景颜色对数据进行排序

有人可以帮助我在整理使用单元格背景色的数据Excel 2003中

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

+0

开发人员选项卡 - >录制宏 - >手动执行过滤 - >停止录制 - > Alt + F11查看代码 –

+0

我看不到在Excel 2003中排序的高级选项。我需要按格式排序。我如何启用它?在启用高级排序之前,记录一个宏是没有用的。 – Venkat

回答

2

与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+)中使用。

希望这会有所帮助。

+0

我看不到在Excel 2003中排序的高级选项。如何启用它? – Venkat

+0

我已经扩展了答案,提供了通用解决方案。最好的祝福, –

相关问题