Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5828|回复: 12

[已解决]同一单元格数字如何用不同显示输入时自动显示颜色

[复制链接]
发表于 2012-8-31 08:35 | 显示全部楼层 |阅读模式
如何实现在输入该单元格数字时自动根据 预先 数字颜色归类进行 颜色显示呢?请教各位高手
最佳答案
2012-8-31 10:03
本帖最后由 zjdh 于 2012-8-31 10:10 编辑

单元格内数字变色.rar (11.19 KB, 下载次数: 54)

颜色设定.rar

7.3 KB, 下载次数: 30

发表于 2012-8-31 08:48 | 显示全部楼层
EXCEL表格的最小对象应该是单元格.无法为同单元格里的每一个数值单独设置属性吧.
至少我是这么认为的.
不知道论坛里有没有其他高手能够解决你提出的问题
回复

使用道具 举报

发表于 2012-8-31 09:01 | 显示全部楼层
同意2楼看法,EXCEL最小单位为单元格。
回复

使用道具 举报

发表于 2012-8-31 09:45 | 显示全部楼层
一般变色用的是条件格式,但是条件格式是针对单元格的指令,所以不能完成LZ的要求
而且在同一个单元格内如何去界定10,是10还是1和0呢?都会有问题!

所以,我觉得,用函数,或者条件格式是应该满足不了LZ的要求的,但是不排除会有高手能用VBA直接对输入的数字进行着色处理啊……
回复

使用道具 举报

发表于 2012-8-31 09:47 | 显示全部楼层
vb可以实现的,我知道,但是不会
回复

使用道具 举报

发表于 2012-8-31 09:49 | 显示全部楼层
本帖最后由 hrpotter 于 2012-8-31 09:51 编辑

vba的,你可以根据自己的要求再加工下,要是成批处理,外面套循环,要是想单元格输入完成后自动变,可以用工作表change事件
  1. Sub test()    '按照你现在的格式,数字要以空格隔开
  2.     Dim arr
  3.     Dim i%, j%, k%
  4.     With Range("b1")
  5.         .Font.ColorIndex = xlNone
  6.         arr = Split(.Value)
  7.         k = 1
  8.         For i = 0 To UBound(arr)
  9.             Select Case Val(arr(i))
  10.             Case 1, 5, 9: j = 3
  11.             Case 2, 4, 6, 8: j = 5
  12.             Case 3, 7, 10: j = 1
  13.             End Select
  14.             .Characters(k, Len(arr(i))).Font.ColorIndex = j
  15.             k = k + 1 + Len(arr(i))
  16.         Next
  17.     End With
  18. End Sub
复制代码

点评

2003版字体颜色不可以设定为xlNone  发表于 2012-9-6 14:49
回复

使用道具 举报

发表于 2012-8-31 10:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zjdh 于 2012-8-31 10:10 编辑

单元格内数字变色.rar (11.19 KB, 下载次数: 54)
回复

使用道具 举报

发表于 2012-8-31 10:07 | 显示全部楼层
又学到新东西了... ...
回复

使用道具 举报

发表于 2012-8-31 12:30 | 显示全部楼层
            不错,学习了.
回复

使用道具 举报

发表于 2012-8-31 13:19 | 显示全部楼层
长期泡坛,专业扫贴,收藏代码,潜心学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-21 00:18 , Processed in 0.907961 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表