Excel精英培训网

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

[已解决][求助]单元格包含红色、黑色字,统计红色字数?

[复制链接]
发表于 2012-9-21 20:12 | 显示全部楼层 |阅读模式
10学分
本帖最后由 sanculans 于 2012-9-22 11:09 编辑

比如A1-A100单元格内都含有汉字,某些汉字是红色的,大部分是黑色的,是一个单元格内有2种颜色哦,不是2个单元格2个颜色,怎么统计红色字数量,整个表内总共有1500-2500个字,处理速度要求在1秒内
2012009212120.zip (6.94 KB, 下载次数: 11)

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-9-21 21:00 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-9-21 21:10 | 显示全部楼层
本帖最后由 sanculans 于 2012-9-21 21:12 编辑
hrpotter 发表于 2012-9-21 21:00
有附件没,没附件怎么测试?


不是列了15个单元格数据了么,你新建个表格,填入数据不就是附件了么,当然,别忘记把颜色设置下
回复

使用道具 举报

 楼主| 发表于 2012-9-21 21:21 | 显示全部楼层
hrpotter 发表于 2012-9-21 21:00
有附件没,没附件怎么测试?

附件已经上传,要求是速度在1秒内解决1500-2500个字的大概100个单元格,里面只有15个单元格,你可以复制到100个单元格
回复

使用道具 举报

发表于 2012-9-21 22:06 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Dim i As Long, j As Long, k As Long, t As Single
  3.     t = Timer
  4.     For i = 1 To Range("a65536").End(xlUp).Row
  5.         For j = 1 To Len(Cells(i, 1))
  6.             If Range("a" & i).Characters(j, 1).Font.ColorIndex = 3 Then
  7.                 k = k + 1
  8.             End If
  9.         Next
  10.     Next
  11.     MsgBox "红字数量:" & k & "个" & vbCrLf & "查询共耗时:" & Timer - t & "秒"
  12. End Sub
复制代码
回复

使用道具 举报

发表于 2012-9-21 22:44 | 显示全部楼层
Characters这个怎么理解
回复

使用道具 举报

 楼主| 发表于 2012-9-22 09:46 | 显示全部楼层
xiaoni 发表于 2012-9-21 22:44
Characters这个怎么理解

跟MID一样,比如sheets(1).cells(1,1).Characters(3,2)就等于mid(sheets(1).cells(1,1),3,2)也就是从sheets(1).cells(1,1)第3个字符开始取2个字符的结果
回复

使用道具 举报

 楼主| 发表于 2012-9-22 10:04 | 显示全部楼层
hrpotter 发表于 2012-9-21 22:06

抱歉不能给你,因为速度仍然不满意,代码和我自己写的一样,初始速度都在10秒左右,平均速度都在3秒左右,不求速度快10倍,至少要平均速度都在1秒左右,初始速度无所谓
回复

使用道具 举报

发表于 2012-9-22 10:32 | 显示全部楼层
sanculans 发表于 2012-9-22 10:04
抱歉不能给你,因为速度仍然不满意,代码和我自己写的一样,初始速度都在10秒左右,平均速度都在3秒左右, ...

速度的话,我这测试200行内都在1秒之内,运行前双击下单元格,然后再运行试试
回复

使用道具 举报

 楼主| 发表于 2012-9-22 11:06 | 显示全部楼层
本帖最后由 sanculans 于 2012-9-22 11:10 编辑
hrpotter 发表于 2012-9-22 10:32
速度的话,我这测试200行内都在1秒之内,运行前双击下单元格,然后再运行试试


嗯~~~~我也用200行测试了下,双击后运行速度可以到0.8秒。但是是这样的,其实举例的A列数据,真实内容是抓取网页内容来的,然后按照条件给设置红色字。总字数大概在1500-2500个,格式不定每个单元格字数差异很大。前面的抓取和设置红色,只要不是网速问题,平均速度都可以在1秒内搞定。唯一的就是这个统计字数上,双击单元格后,最慢的时候能到70秒~~~~平均是在2-5秒的速度,所以追求平均速度1秒,这样整体差异不大。最后声明下,可能我电脑配置没你的好,速度比你的慢一点点也正常,结果得以我这边为准。非常感谢你的热心帮助。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 21:39 , Processed in 0.155705 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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