快速让单元格按照填充颜色排序

快速让单元格按照填充颜色排序

首页休闲益智颜色排序更新时间:2024-04-30

Excel的排序功能在实际操作中会经常被用到,包含了数值排序、文本排序、按单元格字体颜色排序、按单元格颜色排序以及自定义排序。

其中的按单元格颜色排序在使用中你会发现,它只能让你选择的颜色排在最上方,而并不能让所有颜色显示在最上方并排序。

那么如果我想让所有的颜色都显示在最上方,应该怎么操作呢?通过测试,我发现利用多次的选择颜色排序可以实现我的想法。

对于颜色较少的情况这种方式足够使用了,但是如果颜色较多,亦或者想要更加快捷的方式来实现又应该怎么办?一键操作当然是最省时省力的事情了。

本质上也是利用多次的选择颜色排序实现的,只是将繁琐的操作通过以下代码来实现了,这也是代码的优点。

Sub 颜色排序() Dim d, arr1 Set d = CreateObject("scripting.dictionary") '获取单元格里的所有颜色 For Each rg In Selection col = rg.Interior.Color If Not d.exists(col) Then '判断关键词是否存在于字典对象中 d(col) = col End If Next arr1 = d.Keys '字典的key赋给一维数组 For i = 0 To UBound(arr1) If arr1(i) <> 16777215 Then ActiveWorkbook.ActiveSheet.AutoFilter.Sort.SortFields.Clear ActiveWorkbook.ActiveSheet.AutoFilter.Sort.SortFields.Add(Selection, xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = arr1(i) With ActiveWorkbook.ActiveSheet.AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End If Next End Sub



查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved