
代码:
Sub 标色()
Dim nR As Long, iR As Range, S As String, C As String
Dim B As Boolean, i, j
nR = Range("A65535")End(xlUp)Row
Range("A1:A" & nR)InteriorColorIndex = 0
For Each iR In Range("A1:A" & nR)
S = iRValue
C = Mid(S, 2, 1)
If Len(Replace(S, C, "")) = Len(S) - 3 Then
'先判断第二个数出现了三次,再确定间隔是否符合要求
B = False
j = 3
For i = 1 To 2
If InStr(j, S, C) - j > 4 Then
j = InStr(j, S, C) + 1
Else
B = True
End If
Next i
If Not B Then iRInteriorColor = RGB(255, 0, 0)
End If
Next
End Sub
查找里就可以设置单元格格式;
vba定位更方便:
可以使用for语句循环,然后根据单元格格式处理,比如:
dim c as range
for each c in selection
If cInteriorColor = vbYellow Then ‘这里是填充颜色
。。。。
End If
next
用下面的代码,可以把每一行A列的填充颜色写入F列中(如果F列已经使用可以改为其它列):
Option ExplicitSub ygb()
Dim i As Long
For i = 1 To Sheet1UsedRangeRowsCount
Sheet1Cells(i, "F") = Sheet1Cells(i, "A")InteriorColorIndex
Next i
End Sub
Option Explicit
Sub ygb()
Dim i As Long
For i = 1 To Sheet1UsedRangeRowsCount
Sheet1Cells(i, "F") = Sheet1Cells(i, "A")InteriorColorIndex
Next i
End Sub
使用VBA事件:
VBA编辑框中,点击工作表,输入如下代码。
Private Sub Worksheet_Change(ByVal Target As Range)TargetInteriorColor = vbRed
End Sub
自己加按钮哈,
修改 Tem 为你的 表2
Sub programX()
Sheets("Tem")Range("b2:k14")InteriorPattern = xlNone
NewValue = Cells(2, 2) + Cells(2, 5)
Dim rangex As Range
For Each rangex In Sheets("Tem")Range("b2:k14")
If rangexValue = NewValue Then rangexInteriorColor = vbRed
Next
End Sub
把它用在工作表的Change事件中是没有问题的。
Private Sub Worksheet_Change(ByVal Target As Range)
If TargetInteriorColorIndex = 3 Then
MsgBox ("您键入的数据有误!请核对后再运行!")
TargetSelect '重新指向单元格
Exit Sub
End If
End Sub
以上就是关于vba 如何将符合条件的单元格表上颜色全部的内容,包括:vba 如何将符合条件的单元格表上颜色、Excel VBA怎么定位有颜色的单元格、vba如何将标有颜色的单元格挑出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)