excel中如何用VBA让满足几个条件的单元格显色?

咦,是不是取同时不满足条件1、2的显色更简捷呢?以单元格中现有的数字为准就行了。

条件格式公式:=OR(AND(NOT(ISERROR(FIND(MID(A$9,1,1),INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND(MID(A$9,2,1),INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND(MID(A$9,3,1),INDEX(B$1:B$10,ROW()))))),AND(NOT(ISERROR(FIND(MID(A$10,1,1),INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND(MID(A$10,2,1),INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND(MID(A$10,3,1),INDEX(B$1:B$10,ROW()))))),NOT(ISERROR(FIND("24",INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND("42",INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND("69",INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND("96",INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND("05",INDEX(B$1:B$10,ROW())))),NOT(ISERROR(FIND("50",INDEX(B$1:B$10,ROW())))))


EXCEL2007测试通过


追问

对不起。我想要个V。又是03版的,长公式要不起。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-19
最外面用个循环,把B列以字符的形式取出,对于其中的每一字符
去判断是否包含A9或者A10
(可以用字符串的形式把A9和A10取出来,然后逐个字符分析)
如果满足其中的一个,则设定颜色
顺便问下你是字体显色还是单元格的底色阿?
单元格显色: Sheets(1).Cells(2,3).Interior.ColorIndex = 28
字体显色: Sheets(1).Cells(2,3).Font.ColorIndex = 28
28是颜色值,可以自己定

比如:
Private Sub test()
Dim strA9 As String
Dim strA10 As String
Dim strBCol As String
Dim bFlag As bool
bFlag = False
strA9 = Cells(9, 1)
strA10 = Cells(10, 1)
For i = 1 To MaxRow 'B列最大行
strBCol = Cells(i, 2)

'条件1
For j = 1 To Len(strA9) 'A9的判断
If Not InStr(strBCol, Mid(strA9, j - 1, 1)) > 0 Then
Exit For
Else
If j = Len(strA9) Then 'A9全部字符都判断过的情况
bFlag = True
End If
End If
Next
If Not bFlag = True Then 'A9不成功则判断A10
For j = 1 To Len(strA10) 'A10的判断
If Not InStr(strBCol, Mid(strA10, j - 1, 1)) > 0 Then
Exit For
Else
If j = Len(strA10) Then
bFlag = True
End If
End If
Next
End If

'条件2
If Not bFlag = True Then '条件1不成功
For j = 1 To Len(ststrBCol-1)
strTmp=Mid(strBCol, j, 2)
If strTmp="05" Or strTmp="24" Or strTmp="69" Then
bFlag = True
End If
Next
End If

If bFlag = True Then '符合条件后颜色填充
Cells(i, 2).Interior.ColorIndex = 9
Cells(i, 2).Font.ColorIndex = 9
End If
Next
End Sub追问

请说明一下操作方法,我是小白。

追答

首先用下面的方法把开发勾上,这个应该没问题吧
http://jingyan.baidu.com/article/f25ef2546bc2e7482d1b824b.html
然后Alt+F11打开VBA,回到excel画面 开发-〉插入-〉选个button 放到excel中
双击button 自动会到VBA的页面,然后把我给你的代码copy进去 稍微调试下即可
如果你VBA的基础都没有,那你还是发给我比较好 或者联系我qq吧:55367066

追问

我03版的。

追答

哦 这么老的版本阿,加过扣了

本回答被提问者采纳
第2个回答  2014-08-19
excel各种问题完美解决
相似回答