Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: wszbd

[已解决]填色2(填色1的升级)!

[复制链接]
 楼主| 发表于 2014-1-26 16:38 | 显示全部楼层
eaglexs 发表于 2014-1-26 15:12
原始的数据在EU1:EW2间没有文字数据,我用range("eu3").currentregion就能把ET3:EW12之间的数据包括起来。 ...

你点“最后”,出错了,应该是没有淡蓝色表示。 填色2.rar (10.08 KB, 下载次数: 1)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2014-1-26 16:43 | 显示全部楼层
大灰狼1976 发表于 2014-1-26 16:10
测试无问题,只根据你的需要改了range(“EU3:EW12")

你点“bbb”,出错了,应该是没有淡蓝色表示。 填色2.rar (9.75 KB, 下载次数: 2)
回复

使用道具 举报

发表于 2014-1-26 16:56 | 显示全部楼层
回复

使用道具 举报

发表于 2014-1-26 16:58 | 显示全部楼层
  1. Sub bbb()
  2. Dim arr, arr1, i&, j&, n&, s$
  3. arr = Application.Transpose(Range("EU3:EW12"))
  4. arr1 = [en1:ep1]
  5. For j = 1 To 3
  6.   s = Join(Application.Index(arr, j, 0), "")
  7.   For i = 1 To 3
  8.     If n < InStr(s, Mid(arr1(1, i), j, 1)) Then n = InStr(s, Mid(arr1(1, i), j, 1))
  9.   Next i
  10. Next j
  11. If n = 10 Then Exit Sub
  12. Range(Cells(n + 3, "eu"), Cells(UBound(arr, 2) + 2, "ew")).Interior.ColorIndex = 37
  13. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-1-26 17:30 | 显示全部楼层
大灰狼1976 发表于 2014-1-26 16:58

ok,谢谢老师!
能否再加一条语句:如果这个数在最后一行,没有淡蓝色显示,那么就把前三行显示为淡蓝色,像这样:

001.png
回复

使用道具 举报

 楼主| 发表于 2014-1-26 17:46 | 显示全部楼层
本帖最后由 wszbd 于 2014-1-26 17:48 编辑
大灰狼1976 发表于 2014-1-26 16:58


你点“bbb2”, 填色2.rar (11.37 KB, 下载次数: 2)
回复

使用道具 举报

发表于 2014-1-26 18:10 | 显示全部楼层    本楼为最佳答案   
15楼的条件也加进去了,代码请测试
  1. Sub bbb2()
  2. Dim arr, arr1, i&, j&, n&, s$, k&
  3. arr = Application.Transpose(Range("EU3:EW12"))
  4. arr1 = [ep1]
  5. If Not IsArray(arr1) Then k = 1 Else k = UBound(arr1, 2)
  6. For j = 1 To 3
  7.   s = Join(Application.Index(arr, j, 0), "")
  8.   For i = 1 To k
  9.     If k = 1 Then
  10.       If n < InStr(s, Mid(arr1, j, 1)) Then n = InStr(s, Mid(arr1, j, 1))
  11.     Else
  12.       If n < InStr(s, Mid(arr1(1, i), j, 1)) Then n = InStr(s, Mid(arr1(1, i), j, 1))
  13.     End If
  14.   Next i
  15. Next j
  16. If n = 10 Then [eu3:ew5].Interior.ColorIndex = 37: Exit Sub
  17. Range(Cells(n + 3, "eu"), Cells(UBound(arr, 2) + 2, "ew")).Interior.ColorIndex = 37
  18. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-1-26 20:02 | 显示全部楼层
大灰狼1976 发表于 2014-1-26 18:10
15楼的条件也加进去了,代码请测试

非常完美,谢谢!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 04:28 , Processed in 5.330951 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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