vba-条件判断标记颜⾊+find和findnext查询⽤法Sub双条件判断()
Dim arr
Dim t As Date
t = #3/15/2021#
't = DateSerial(2021, 3, 15) '也可⽤这种标准写法
arr = Range("a2:b5")
For i = 1To UBound(arr)
If arr(i, 2) = "否"And arr(i, 1) < t Then
Range("a" & i + 1).Resize(1, 2).Interior.Color = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)
Else
Range("a" & i + 1).Resize(1, 2).Interior.Pattern = xlNone '填充⾊为⽆⾊填充
End If
Next
End Sub
find查询⽤法
Sub单元格查()
'Find 和findnext配合查询
'find(what,after,lookin,lookat,searchorder,searchdirection,matchcase,matchbyte,searcformat)
'what '查什么
'after '从哪开始查 range 对象
'LookIn '查什么,xlcomments(批注),xlformulas(公式),xlvalues(值)
'lookat '怎么查  xlwhole(单元格内容与what完全⼀样),xlpart(与what部分⼀样)
'searchorder '查询顺序,按⾏还是按列 xlbyrows(⾏), xlbycolumns(列)
'searchdirection  '查询⽅向,从上往下(xlnext)还是从下往上(xlprevious)
'MatchCase '是否区分⼤⼩写 true(区分),false(不区分)
'matchbyte '是否区域半⾓还是全⾓  true(区分),false(不区分)
'searchformat '匹配格式,查执⾏这个之前,需要对application.format 对象进⾏设置,这是⼀个只包含单元格格式设置的特殊对象
Dim str As String
Dim rng As Range
Set rng = Range("d2:d14").Find(2, lookat:=xlWhole) 'xlwhole为整体匹配,部分相同也不⾏
If rng Is Nothing Then
MsgBox"⽆此值"
resize函数vbaElse
str = rng.Address
Do
rng.Interior.Color = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)
Set rng = Range("d2:d14").FindNext(rng)
Loop Until rng.Address = str'find和findnext 是循环查,设置查了⼀圈后回到原点为退出
End If
End Sub

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。