excel 红色字体置顶

EXCEL中,第一列是公司名称,我先把其中的一些公司设置成红色。
然后我想让所有红色的一行信息排在表格的最上方,请教各位高手如何实现。
非常感谢!
我的WORD是2003版的。

我不是想把哪一行放在最上方。

我就是想把红色的那些行放到黑色的上边就行

我也觉得没有必要用VBA就能实现。 bluelaser的方法我没看懂,不过确实可以通过添加辅助列的方法实现,我是这样做的:
假若你那一公司名是A列。
1.首先复制整个A列,然后插入到B列,这个应该会吧。
2.然后选中整个B列,按“Ctrl+F--替换--选项--点第一个'格式'--字体--颜色--红色--确定--在'替换为'里面输入字母a”,然后再点击“全部替换--关闭”,这样这一列中全部为红色的字体都会替换为a.
3.选中全部的单元格,点菜单栏的“数据--排序--将B列设为关键字--升序”,然后再删除B列,A列的内容自然就会置顶了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-30
楼主, EXCEL对单元格颜色的操作有两个方法,1. 用VBA程序来做 2. 用函数对单元格的色彩值提取,再对色彩值进行操作(如排序)。如果您对VBA不是很了解的话,我建议您用Excel的函数方法。

Execel对单元格取颜色的函数可用 宏表函数get.cell

用法:(假设您的公司名在A列,还假设您说的红色是说字体颜色而不是说单元格背景颜色)
1. 宏表函数因为是早期Excel函数,不能直接使用,要通过"名称"使用它
"插入"菜单-->名称-->定义-->上边输入定义名称名字color-->引用位置输入=GET.CELL(24,Sheet1!$A$1)+RAND()*0 -->然后,点右侧的"添加"按钮

2. B1输入公式=color, 此时B1的值就是A1单元格的前景(字体)颜色值。

解释:
a. GET.CELL(24,Sheet1!$A$1) 取sheet1中A1的前景(字体)颜色值

b. RAND()*0 随机取值函数RAND乘以0永远等于0, 这个公式的作用:GET.CELL作为宏表函数,同是它也是易失性函数,RAND()*0只是对易失性函数的一个处理,它的存在对整个公式的结果无影响。

c. GET.CELL的参数24是前景字体色,如果是取A1背景颜色请用63
=GET.CELL(63,Sheet1!$A$1)+RAND()*0

d. 当单元格颜色有所改变时,请按F9(整表重算),get.cell公式值才会重算。

e. 本例宏表的单元格引用用的是绝对引用形式"$A$1", 如果你想用相对引用"A1"样式实现对不同的单元格实现公式引用的话。请注意一点.

请注意: 在定义名称之前,先选中"即将要第一次"使用这个名称的单元格后,再定义名称(意思是说: 名称在哪个单元格用就选先哪个单元格,再定义名称,这样才会保证相对引用不会错位)

颜色的值都有了,再对颜色值这列进行由大到小排序,就是您想要的结果了(注:黑色的颜色值是0)
第2个回答  2009-08-28
假设公司名称在A列,公司名从A2开始。用一附助列如B列,在B1输入“代码”二字,选中B2,定义名称→在名称框输入 xxx →在引用位置框输入 =GET.CELL(24,A2) →确定。
在B2输入公式:
=IF(xxx=3,1,)
公式向下填充至公司名称的最后一行。
再选中B、A列,以B列按降序排序。
最后删除B列。
第3个回答  2009-08-28
如果你用的是office2007,非常容易达到红色置顶效果。

1.筛选
2.点一下公司名称旁边的下拉三角,选按颜色排序。点击红色。
ok了。
============================
可以使用辅助列。
你在公司名称前面插入一列。
然后把所有的红色的前面写1
然后,再对添加的这列排序。
红色的就会在黑色的上面了。
第4个回答  2009-08-28
1.在菜单上点选 工具/ 宏/ Visual Basic 编辑器,在打开的编辑器窗口菜单上点选 插入/ 模块。

2.把下列代码粘贴到编辑器窗口。
Function GroundColor(R1 As Range) As Integer
If R1.Interior.Color = vbRed Then
GroundColor= 1
Else
GroundColor= 0
End If
End Function

Function FontColor(R1 As Range) As Integer
If R1.Cells.Font.Color = vbRed Then
FontColor= 1
Else
FontColor= 0
End If
End Function

3.关闭编辑器窗口,保存一下excel文件。

4.在数据后新加一列“是否红色”,假设公司名称列为列A,新加列为列B,则B2=BackColor(A2) ,可求A2是否背景色为红色;或B2=GroundColor(A2) ,可求A2是否字体为红色。

5.将B2单元格向下复制粘贴至与最后一行相齐。

6.将所有数据按“是否红色”列倒排序即可。操作完毕可以将“是否红色”列删除。