美文网首页
VBA-SZ第1节|表格中的搜索/定位/替换

VBA-SZ第1节|表格中的搜索/定位/替换

作者: 努力奋斗的durian | 来源:发表于2019-05-10 16:41 被阅读0次

    最近更新:'2019-05-10'

    1.Find快速查找内容
    2.find函数的可选参数
    3.find的前世记忆

    1.Find快速查找内容

    1.1find的基本查找

    案例:在一个excel表格中查找熊猫这两个字

    1.1.1双重循环查找

    比较通俗的查找方法.



    加上时间统计语句,来看看运行的时间,用时共13秒


    1.1.2 二维数组的查找

    有没有比双重循环更好的方法呢?可以使用二维数组进行查找.

    Range内容可以直接导入二维数组,这样运行的速度就会快很多,只需要2s


    1.1.3 Find的查找

    有没有比range更方便的方法呢?可以使用Find的方法.

    用find的方法找到第一个单元格




    当把熊猫改成雪人,即数据表没有熊猫这个单元格内容,相当于查找的对象没有时,find返回又是什么呢?


    代码提示出错,出错调试把r选中,就会有显示相关的数值,比如这里显示nothing.nothing表示什么对象都不是的意思.



    在无法找到指定内容时,Find方法返回 Nothing,使用Find时必须考虑,Nothing的情况!

    那么怎么样操作可以考虑到find是nothing的情况?如下截图:


    1.2find的高级选项查找

    1.2.1 find函数与excel菜单栏find的对应关系
    1.2.2 find函数的参数

    2.find函数的可选参数

    2.1 find函数参数:大小写MatchCase

    2.2 find函数参数:匹配单元格LookAt

    2.3 find函数参数:查找范围LookIn

    xlValues和xlFormulas会有交叉重叠的部分


    2.4 find函数参数:是否按格式查找SearchFormat和application.findformat

    查找特定格式的单元格,比如字体/背景颜色等等,如下截图:

    比如以下案例,5个单元格内容都一样,区别就是字体颜色还有背景色不一致.如果想把有格式的单元格(包含背景色/字体等等所有的格式)进行查找,又需要怎么操作呢?

    比如以下案例,5个单元格内容都一样,区别就是字体颜色还有背景色不一致.如果想把白色字体和黑底背景熊猫找出来,又需要怎么操作呢?

    最后运行的结果就是如下截图:


    如果需要查找特殊格式的单元格,可以通过录制宏的方法,得到单元格的格式,再设置application.findformat的格式代码,再设置searchformat=true即可.

    一般设置application.findformat的格式代码有很多条重复性相关的代码,可以建议使用with...end with

    3.find的前世记忆

    相关文章

      网友评论

          本文标题:VBA-SZ第1节|表格中的搜索/定位/替换

          本文链接:https://www.haomeiwen.com/subject/eqpsoqtx.html