EXCEL 如何筛选红色字体??高手请来!!!在线等!!

来源:百度知道 编辑:UC知道 时间:2024/09/12 21:22:53
因工作,每天面临这个问题,详细内容是:我会将EXCEL因工作要求的列标称红色字体,那么在几百列当中如何筛选出红色列,并能确定其数量呢?之前我都用笨方法,红色列只能一个一个去数,这样既浪费时间,又影响效率!希望高手能给与指点!我是菜鸟请详细说明,如果百度不好详细回答,请QQ我:119775619 ,本人在线等
请重点表述一下2003,因为2007没用过,不习惯

刚回答完,又捞点分

按alt+F11打开VBE,

右击左边工程框,插入,模块

贴入以下代码
Function ystj(col As Range, countrange As Range)
Dim i As Range
Application.Volatile
For Each i In countrange
If i.Font.ColorIndex = col.Font.ColorIndex Then
ystj = ystj + 1
End If
Next
End Function

例如你标了红色字体的数据区域是第1行到第100行
在D1输入公式
=ystj(颜色,1:100)/rows(1:100) 按F9

其中颜色为想统计颜色字所在的单元格,如=ystj(A2,1:100)/rows(1:100)

如果想统计不同背景色的,将Font改为Interior。

区域1:100可为任意的excel形式(A1:C100或A:C),但最好不要选A:C这样的形式,因为每列有65535个表格,计算需很长很长时间的。查下最终的行号还是比较简单的。

统计列数

用自定义函数。

ALT+F11,进入代码编辑窗,插入-模块,然后把下面这代码复制进去
Public Function fx(x As Range)
If x.Font.ColorIndex = 3 Then
fx = "红字"
Else
fx = ""
End If
End Function
关闭,返回EXCEL

在EXCEL中,需要在某一辅助列,输入该公式,比如你A列是要筛选红字的话,就在辅助列
=fx(A1)
可往下拖拉

2007可以直接筛选,2003要通过辅助列来实现,(是筛选红色