
excel中用宏进行循环判断并作出动作
目的:从A4到A13的单元格中,如果单元格内容为“已输俊龙”就将此单元背景色染成绿色如果不是,就不染色。我写的代码如下:SubM_madegreen()''M_madeg...
目的:从A4到A13的单元格中,如果单元格内容为“已输俊龙”就将此单元背景色染成绿色
如果不是,就不染色。
我写的代码如下:
Sub M_madegreen()
'
' M_madegreen Macro
' 条件满足时,区域变成绿色
'
' 快捷键: Ctrl+j
'
'定义一个变量I,初始值为0
Dim I
I = 0
Do While I < 10
Range("A" & 4 + I).Select
If Range("A" & 4 + I).Text = "已输俊龙" Then '判断单元格内容是否为真
Selection.Interior.PatternColorIndex = 12 '若为真,则染成绿色
Else: Selection.Interior.PatternColorIndex = 0 '否则不染色
End If
I = I + 1 '下移一行
Loop
End Sub
但是运行后是这样:
求指正! 展开
如果不是,就不染色。
我写的代码如下:
Sub M_madegreen()
'
' M_madegreen Macro
' 条件满足时,区域变成绿色
'
' 快捷键: Ctrl+j
'
'定义一个变量I,初始值为0
Dim I
I = 0
Do While I < 10
Range("A" & 4 + I).Select
If Range("A" & 4 + I).Text = "已输俊龙" Then '判断单元格内容是否为真
Selection.Interior.PatternColorIndex = 12 '若为真,则染成绿色
Else: Selection.Interior.PatternColorIndex = 0 '否则不染色
End If
I = I + 1 '下移一行
Loop
End Sub
但是运行后是这样:
求指正! 展开
2个回答
展开全部
一定要vba代码么? 条件格式也可以完成啊
你选中A4:A13区域后
条件格式—突出显示单元格规则—等于
值:“已输俊龙” 格式:自定义格式—填充 即可
如果非要代码。。。。。
估计你的代码是录制的 所以有一个selection
循环的时候要改成具体的range对应
另外 你原来的那个else有点多余。。。。。
以下仅供参考
Sub M_madegreen()
' 条件满足时,区域变成绿色
' 快捷键: Ctrl+j
'定义一个变量I,初始值为0
Dim I As Integer
I = 0
Do While I < 10
Range("A" & 4 + I).Select
If Range("A" & 4 + I) = "已输俊龙" Then '判断单元格内容是否为真
Range("A" & 4 + I).Interior.ColorIndex = 12 '若为真,则染成绿色
End If
I = I + 1 '下移一行
Loop
End Sub
如有问题请详述
你选中A4:A13区域后
条件格式—突出显示单元格规则—等于
值:“已输俊龙” 格式:自定义格式—填充 即可
如果非要代码。。。。。
估计你的代码是录制的 所以有一个selection
循环的时候要改成具体的range对应
另外 你原来的那个else有点多余。。。。。
以下仅供参考
Sub M_madegreen()
' 条件满足时,区域变成绿色
' 快捷键: Ctrl+j
'定义一个变量I,初始值为0
Dim I As Integer
I = 0
Do While I < 10
Range("A" & 4 + I).Select
If Range("A" & 4 + I) = "已输俊龙" Then '判断单元格内容是否为真
Range("A" & 4 + I).Interior.ColorIndex = 12 '若为真,则染成绿色
End If
I = I + 1 '下移一行
Loop
End Sub
如有问题请详述
展开全部
Selection.Interior.PatternColorIndex = 12 '若为真,则染成绿色
改为
Selection.Interior.ColorIndex = 10 '若为真,则染成绿色
你的代码不是很有效率,给你改了下:
Sub M_madegreen()
Dim i
For i = 0 To 9
If Range("A" & 4 + i).Text = "已输俊龙" Then '判断单元格内容是否为真
Range("A" & 4 + i).Interior.ColorIndex = 10 '若为真,则染成绿色
Else: Range("A" & 4 + i).Interior.ColorIndex = 0 '否则不染色
End If
Next i
End Sub
改为
Selection.Interior.ColorIndex = 10 '若为真,则染成绿色
你的代码不是很有效率,给你改了下:
Sub M_madegreen()
Dim i
For i = 0 To 9
If Range("A" & 4 + i).Text = "已输俊龙" Then '判断单元格内容是否为真
Range("A" & 4 + i).Interior.ColorIndex = 10 '若为真,则染成绿色
Else: Range("A" & 4 + i).Interior.ColorIndex = 0 '否则不染色
End If
Next i
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询