VBA经典应用69例:Find方法的应用

news2024/9/24 18:05:51

《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:VBA经典应用69例:Find方法的应用d7d1a44526e13e33b3410888e1912981.jpeg

【分享成果,随喜正能量】人生路长,终会发现发现,所有人都是过客,生活不是为了取悦别人而活,而是为了自己而活。悦人者众,悦己者王。世事总是无常,学会善待自己,保护自己,遵从自己的内心,做最热爱的事,活出自己的精彩。。

3Find方法的应用

下面我们来看第三种方案,Find方法。这种方法在区域中查找特定信息。

语法:expression.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

Expression是一个表示 Range 对象的变量。

参数:

①What必需Variant要搜索的数据。 可为字符串或任意 Microsoft Excel 数据类型。

② After可选Variant要在其后开始搜索的单元格。从用户界面搜索时,这对应于活动单元格的位置。

l请注意,After 必须是区域内的单个单元格。搜索在此单元格之后开始;在此单元格之前,不会搜索指定的单元格。如果未指定此参数,搜索将在区域左上角的单元格后面开始。

③LookIn可选Variant可以是下列 XlFindLookIn 常量之一:xlFormulas、xlValues、xlComments 或 xlCommentsThreaded。

④LookAt可选Variant可以是下列 XlLookAt 常量之一:xlWhole 或 xlPart。

⑤ SearchOrder可选Variant可以是以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。

⑥ SearchDirection可选Variant可以是以下 XlSearchDirection 常量之一: xlNext 或 xlPrevious。

⑦MatchCase可选Variant如果为 True,则搜索区分大小写。 默认值为 False。

⑧MatchByte可选Variant仅在选择或安装了双字节语言支持时使用。 如果为 True,则双字节字符仅匹配双字节字符。如果为 False,则双字节字符匹配其单字节等效字符。

⑨SearchFormat可选Variant搜索格式。

l如果未发现匹配项,此方法返回 Nothing。 Find 方法不会影响所选内容或活动单元格。

l每次使用此方法时,都会保存 LookIn、LookAt、SearchOrder 和 MatchByte 的设置。 如果在下次调用此方法时不指定这些参数的值,则使用保存的值。 设置这些参数会更改“查找”对话框中的设置,更改“查找”对话框中的设置会更改省略参数时使用的已保存值。为避免出现问题,请在每次使用此方法时显式设置这些参数。

l使用 FindNext 和 FindPrevious 方法可重复搜索。

l当搜索到达指定的搜索区域末尾时,它会绕到该区域开头位置。 若要在发生此绕回时停止搜索,请保存第一个找到的单元格的地址,然后针对此保存的地址测试每个连续找到的单元格地址。

同样是上述提到的应用场景,我们看我给出的下面代码:

Sub mynzE()

    '取得A列最后一个非空的单元格

    lastRow = Cells(Rows.Count, "A").End(xlUp).Row

    For i = 1 To lastRow

        Range("B" & i) = ""

        Set searchRange = Range("A" & i)

        Set searchResult = searchRange.Find("vba", MatchCase:=False, Lookat:=xlPart)

        '如果搜索结果中有内容,填充B列单元格

        If Not searchResult Is Nothing Then searchResult.Offset(0, 1) = "找到VBA"

        '第二种写法

        'If searchResult Is Nothing = False Then searchResult.Offset(0, 1) = "找到VBA"

        '第三种写法

        'If searchResult Is Nothing = False Then Range("B" & i) = "找到VBA"

        '第四种写法

        'If searchResult Is Nothing = False Then Cells(searchResult.Row, searchResult.Column + 1) = "找到VBA"

        Set searchResult = Nothing

        Set searchRange = Nothing

    Next

End Sub

代码截图:

0b9b504e2a123bd46d3c69a7669aea7a.jpeg

代码讲解:

①Set searchResult = searchRange.Find("vba", MatchCase:=False, Lookat:=xlPart)设置为不区分大小写,不完全匹配查找。

② If Not searchResult Is Nothing Then searchResult.Offset(0, 1) = "找到VBA"这种写法是一般的写法。如果找了查找内容,那么在后面的单元格中写入“找到VBA”。

③ If searchResult Is Nothing = False Then searchResult.Offset(0, 1) = "找到VBA"这种是第二种写法,其中searchResult Is Nothing = False写法等同于Not searchResult Is Nothing

④ If searchResult Is Nothing = False Then Range("B" & i) = "找到VBA"

这是第三种写法,利用了Range("B" & i) 直接写入指定的值。

⑤ If searchResult Is Nothing = False Then Cells(searchResult.Row, searchResult.Column + 1) = "找到VBA"

这是第四种写法,Cells(searchResult.Row, searchResult.Column + 1)是指定写入给定值的单元格,这种写法也是非常经典的写法。

fea80f64cdb193c3fed26933dba46534.jpeg

总结:在本专题中,我提供给了可用于值比较的三种方法。最后,重要的是不要忘记考虑区分大小写,因为这是最常见的错误来源之一。

今日内容回向:

  1 值比较有几种方法?

  2 在FIND方法中提供了多种找到值后的处理,是否理解?

本讲内容参考程序文件:应用003.xlsm

3850bf87bcda8e8098b2ae1c246774db.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:


4c51d24b7769e410cf57eb4afcd74fe9.jpeg

94299d9c1ab852e0b7069c531a56f126.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1243879.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

旅行商问题(枚举,回溯,动态规划,贪心,分支界限)

文章目录 问题描述暴力枚举回溯法动态规划法贪心法分支界限法 问题描述 假设有一个货郎担要拜访n个城市,他必须选择所要走的路程,路程的限制时每个城市只能拜访一次,而且最后要走到原来出发的城市,要求路径长度。 旅行商问题将要…

C语言第二十五弹--打印菱形

C语言打印菱形 思路&#xff1a;想要打印一个菱形&#xff0c;可以分为上下两部分&#xff0c;通过观察可以发现上半部分星号的规律是 1 3 5 7故理解为 2对应行数 1 &#xff0c;空格是4 3 2 1故理解为 行数-对应行数-1。 上半部分代码如下 for (int i 0;i < line;i){//上…

【C/PTA】函数专项练习(四)

本文结合PTA专项练习带领读者掌握函数&#xff0c;刷题为主注释为辅&#xff0c;在代码中理解思路&#xff0c;其它不做过多叙述。 目录 6-1 计算A[n]1/(1 A[n-1])6-2 递归实现顺序输出整数6-3 自然数的位数(递归版)6-4 分治法求解金块问题6-5 汉诺塔6-6 重复显示字符(递归版)…

git 提交成了LFS格式,如何恢复

平常习惯使用sourceTree提交代码&#xff0c;某次打开时弹出了一个【是否要使用LFS提交】的确认弹窗&#xff0c;当时不知道LFS是什么就点了确认&#xff0c;后续提交时代码全变成了这个样子 因为是初始化的项目首次提交&#xff0c;将近四百个文件全被格式化成了这个样子&…

Python 使用tkinter复刻Windows记事本UI和菜单功能(三)

上一篇&#xff1a;Python 使用tkinter复刻Windows记事本UI和菜单功能&#xff08;二&#xff09;-CSDN博客 下一篇&#xff1a;敬请耐心等待&#xff0c;如发现BUG以及建议&#xff0c;请在评论区发表&#xff0c;谢谢&#xff01; 本文章完成了记事本的新建、保存、另存、打…

为什么 x86 操作系统从 0x7c00 处开始

0x00&#xff1a;x86 架构 BIOS 引导加载程序中的"0x7C00"之谜 你知道 x86 操作系统中的"0x7C00"这个神奇数字吗 ? "0x7C00" 是BIOS加载MBR&#xff08;主引导记录&#xff0c;磁盘中的第一个扇区&#xff09;的内存地址。操作系统或引导加载…

思维模型 等待效应

本系列文章 主要是 分享 思维模型 &#xff0c;涉及各个领域&#xff0c;重在提升认知。越是等待&#xff0c;越是焦虑。 1 等待效应的应用 1.1 等待效应在管理中的应用 西南航空公司是一家美国的航空公司&#xff0c;它在管理中运用了等待效应。西南航空公司鼓励员工在工作中…

XUbuntu22.04之解决gpg keyserver receive failed no data(一百九十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Axios 通过a标签下载文件 跨域下载

<!-- a标签占位 --><a ref"down" ></a>getTest() {this.$axios.request({url: https://cnv13.55.la/download?file_key3695fa9461a0ae59cf3148581e4fe339&handle_typeexcel2pdf,method: get,responseType: blob, // 切记类型 blob}).then(re…

【Java并发】聊聊线程池原理以及实际应用

线程其实对于操作系统来说是宝贵的资源&#xff0c;java层面的线程其实本质还是依赖于操作系统内核的线程进行处理任务&#xff0c;如果频繁的创建、使用、销毁线程&#xff0c;那么势必会非常浪费资源以及性能不高&#xff0c;所以池化技术&#xff08;数据库连接池、线程池&a…

3D火山图绘制教程

一边学习&#xff0c;一边总结&#xff0c;一边分享&#xff01; 本期教程内容 **注&#xff1a;**本教程详细内容 Volcano3D绘制3D火山图 一、前言 火山图是做差异分析中最常用到的图形&#xff0c;在前面的推文中&#xff0c;我们也推出了好几期火山图的绘制教程&#xff0…

Linux下载工具XDM下载安装与使用

Windows上IDM多线程下载非常强大&#xff0c;即能捕捉页面上的视频、图片、音频&#xff0c;又能作为浏览器下载器使用&#xff0c;但是IDM无法在Linux下使用&#xff0c;除非使用wine。不过我们可以在Linux中用XDM(Xtreme Download Manager)代替IDM。 1、XDM下载 Xtreme Dow…

从Discord的做法中学习 — 使用Golang进行请求合并

正如你可能之前看到的&#xff0c;Discord去年发布了一篇有价值的文章&#xff0c;讨论了他们成功存储了数万亿条消息。虽然有很多关于这篇文章的YouTube视频和文章&#xff0c;但我认为这篇文章中一个名为“数据服务为数据服务”的部分没有得到足够的关注。在这篇文章中&#…

如何在AD的PCB板做矩形槽孔以及如何倒圆弧角

Altium Designer 22下载安装教程-CSDN博客 如何在AD上创建完整的项目-CSDN博客 开始前&#xff0c;请先安装后AD&#xff0c;并创建好项目。 目录 1. 如何在AD的PCB板做矩形槽孔 2. 如何在AD的PCB板倒圆弧角 1. 如何在AD的PCB板做矩形槽孔 首先&#xff0c;我们进入上面创…

普通话考试相关(一文读懂)

文章目录&#xff1a; 一&#xff1a;相关常识 1.考试报名时间 2.报名地方 费用 证件 3.考试流程 4.普通话等级说明 二&#xff1a;题型 三&#xff1a;技巧 1.前三题 2.命题说话 四&#xff1a;普通话考试题库 1.在线题库 2.下载题库 一&#xff1a;相关常识 …

【工具栏】热部署不生效

目录 配置热部署&#xff1a; 解决热部署不生效&#xff1a; 首先检查&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 配置热部署&#xff1a; https://blog.csdn.net/m0_67930426/article/details/133690559 解决热部署不…

OmniGraffle

安装 在mac上安装OmniGraffle&#xff0c;找一个正版或者啥的都行&#xff0c;安装好后&#xff0c;可以直接在网上找一个激活码&#xff0c;然后找到软件的许可证&#xff0c;进行添加即可。 使用 新建空白页 然后图形啥的看一眼工具栏就知道了&#xff0c;颜色形状还是挺…

ELK企业级日志分析平台——ES集群监控

启用xpack认证 官网&#xff1a;https://www.elastic.co/guide/en/elasticsearch/reference/7.6/configuring-tls.html#node-certificates 在elk1上生成证书 [rootelk1 ~]# cd /usr/share/elasticsearch/[rootelk1 elasticsearch]# bin/elasticsearch-certutil ca[rootelk1 ela…

九、ffmpeg命令转封装

开了几天小差&#xff0c;今天继续学习ffmpeg。 准备测试使用的视频&#xff0c;并查看其信息 # 查看视频信息。使用Mediainfo也可以 ffprobe test.mp4 视频格式的信息如下。 保持编码格式&#xff1a;ffmpeg -i test.mp4 -vcodec copy -acodec copy test_copy.tsffmpeg -i…

读书笔记——《黑猩猩的政治》

前言 弗朗斯德瓦尔&#xff08;Frans de Waal)的代表作《黑猩猩政治》成书于1982年&#xff0c;是它的首部书籍作品&#xff0c;也是美国国会新任议员的被推荐读物。之前看的他另一部作品的《万智有灵》是2016年的作品&#xff0c;时间跨度居然这么大。《万智有灵》介绍了许多…