Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 兰色幻想

[习题] 【v1-6综合练习题1】如何按条件填充颜色

[复制链接]
发表于 2007-12-17 09:56 | 显示全部楼层

<p>做了下</p><p>1、适合全表,运行时间0.3125</p><p>Sub 颜色填充()<br/>Dim b As Long, a%<br/>&nbsp;&nbsp; For a = 1 To 256<br/>&nbsp;&nbsp;&nbsp;&nbsp; For b = 1 To Cells(65536, a).End(xlUp).Row<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Cells(b, a) &gt; 100 Then Cells(b, a).Interior.ColorIndex = 4<br/>&nbsp;&nbsp;&nbsp;&nbsp; Next<br/>&nbsp;&nbsp; Next<br/>End Sub</p><p>2、想不出比 <font color="#1010de">for..each in ..next循环 </font><font color="#000000">更短的代码</font></p><p>做了个只有3条代码的游戏之作,尽针对 校长 的给的数据(里面没小于100的)。1、发散下思维,2、复习下 校长的 定位 的课,3、博大家一笑。</p><p>Sub 颜色填充3()<br/>&nbsp;&nbsp;&nbsp; Range("A1:F21").Replace What:="100", Replacement:="#", LookAt:=xlWhole<br/>&nbsp;&nbsp;&nbsp; Selection.SpecialCells(xlCellTypeConstants, 1).Interior.ColorIndex = 4<br/>&nbsp;&nbsp;&nbsp; Range("A1:F21").Replace What:="#", Replacement:="100", LookAt:=xlWhole<br/>End Sub<br/></p><p>哈哈哈。。。。</p><p>希望不要因为我而引出用一条代码:</p><p>Range("a5,c1,......,f20").Interior.ColorIndex = 4</p><p>的答案来<br/></p><p><font color="#1010de"></font></p>
回复

使用道具 举报

发表于 2007-12-17 13:15 | 显示全部楼层
回复

使用道具 举报

发表于 2007-12-17 19:42 | 显示全部楼层
回复

使用道具 举报

发表于 2007-12-17 20:26 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>bbwsj</i>在2007-12-17 9:56:00的发言:</b><br/><p>做了下</p><p>1、适合全表,运行时间0.3125</p><p>Sub 颜色填充()<br/>Dim b As Long, a%<br/>&nbsp;&nbsp; For a = 1 To 256<br/>&nbsp;&nbsp;&nbsp;&nbsp; For b = 1 To Cells(65536, a).End(xlUp).Row<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Cells(b, a) &gt; 100 Then Cells(b, a).Interior.ColorIndex = 4<br/>&nbsp;&nbsp;&nbsp;&nbsp; Next<br/>&nbsp;&nbsp; Next<br/>End Sub</p><p>2、想不出比 <font color="#1010de">for..each in ..next循环 </font><font color="#000000">更短的代码</font></p><p>做了个只有3条代码的游戏之作,尽针对 校长 的给的数据(里面没小于100的)。1、发散下思维,2、复习下 校长的 定位 的课,3、博大家一笑。</p><p>Sub 颜色填充3()<br/>&nbsp;&nbsp;&nbsp; Range("A1:F21").Replace What:="100", Replacement:="#", LookAt:=xlWhole<br/>&nbsp;&nbsp;&nbsp; Selection.SpecialCells(xlCellTypeConstants, 1).Interior.ColorIndex = 4<br/>&nbsp;&nbsp;&nbsp; Range("A1:F21").Replace What:="#", Replacement:="100", LookAt:=xlWhole<br/>End Sub<br/></p><p>哈哈哈。。。。</p><p>希望不要因为我而引出用一条代码:</p><p>Range("a5,c1,......,f20").Interior.ColorIndex = 4</p><p>的答案来<br/></p><p><font color="#1010de"></font></p></div><p></p>第二种方法不对吧,只能填充100的
回复

使用道具 举报

发表于 2007-12-18 11:08 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>zjxia889</i>在2007-12-17 20:26:00的发言:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>第二种方法不对吧,只能填充100的</div><p><font size="4">第2方法 是 1、先用查找替换把100替换为"#",2、用定位——数值把其他数值填色 3、用查找替换把"#"改回100。</font></p><p><font size="4">只是个取巧的方法,并不严密,会把小于100的,也填色。</font></p><p><font size="4">我说了只是 游戏之作 。因为兰给的数都&gt;=100,所以可取这个巧。我做这个,只是发散一下思路,有时在特定的时候,用不严密的东东,也能办成事,关键是速度能快很多。呵呵</font></p>
[此贴子已经被作者于2007-12-18 11:32:24编辑过]
回复

使用道具 举报

发表于 2007-12-19 17:05 | 显示全部楼层

顶上去[em03]
回复

使用道具 举报

发表于 2007-12-19 21:16 | 显示全部楼层

<p>Sub Macro2()</p><p>Dim mrg As Range<br/>For Each mrg In Range("A1:C9,D10:F21")<br/>If mrg.Value &gt; 100 Then mrg.Interior.ColorIndex = 4<br/>Next<br/>&nbsp;End Sub</p><p>不错,跟着大家学了for each in next 语句,也上来秀下。</p>
回复

使用道具 举报

发表于 2007-12-20 12:42 | 显示全部楼层

Sub 填充颜色()<br/>&nbsp;&nbsp;&nbsp; Dim MyRng As Range<br/>&nbsp;&nbsp;&nbsp; For Each MyRng In Range("A1:C9", "D10:F21")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If MyRng &gt; 100 Then MyRng.Interior.ColorIndex = 4&nbsp; '绿色<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; Next<br/>End Sub
回复

使用道具 举报

发表于 2007-12-20 22:19 | 显示全部楼层

<p>直接录制宏,代码还好,就3句话...就是不理解...没学过formatconditions</p><p>Sub Macro1()</p><p>&nbsp;&nbsp;&nbsp; Range("A1:F21").Select<br/>&nbsp;&nbsp;&nbsp; Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=A1&gt;100"<br/>&nbsp;&nbsp;&nbsp; Selection.FormatConditions(1).Interior.ColorIndex = 4<br/>End Sub<br/></p>
回复

使用道具 举报

发表于 2007-12-21 11:42 | 显示全部楼层

<p>Sub BeyondPC6_1()<br/>Dim rng As Range<br/>Set rng = Sheets("sheet1").Range("a1").CurrentRegion<br/>For Each i In rng<br/>If i &gt; 100 Then<br/>i.Interior.Color = RGB(0, 255, 0)<br/>End If<br/>Next<br/>End Sub</p><p>因为就一个确定工作表名称的,所以就没有WITH</p>
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-29 05:08 , Processed in 0.314636 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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