首页 > 编程语言 > 详细

vba-条件判断标记颜色+find和findnext查询用法

时间:2021-03-18 10:04:02      阅读:53      评论:0      收藏:0      [点我收藏+]
Sub 双条件判断()
Dim arr
Dim t As Date
t = #3/15/2021#
t = DateSerial(2021, 3, 15) ‘也可用这种标准写法
arr = Range("a2:b5")
For i = 1 To 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 "无此值"
    Else
        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

 

vba-条件判断标记颜色+find和findnext查询用法

原文:https://www.cnblogs.com/lisongmei/p/14553013.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!