目录
江雪大爷钓鱼:从简到繁,vba写库房管理软件(一)之开篇废话多
江雪大爷钓鱼:从简到繁,vba写库房管理软件(二)之需求分析及初学者避坑指南
江雪大爷钓鱼:从简到繁,vba写库房管理软件(三)之入库界面编写
江雪大爷钓鱼:从简到繁,vba写库房管理软件(四)之窗体设计
江雪大爷钓鱼:从简到繁,vba写库房管理软件(五)之成果展示
从简到繁,vba写库房管理软件(六)之find函数
本来今天应该介绍一下出库界面怎么来写的,不过考虑到很多和我一样还是小白的小伙伴所以今天先来给大家讲一下编写出库界面的核心函数之一——find函数。
一、find函数能用来做什么?
![93dcdba0cf20d3b7f4064a15432b8bbf.png](https://img-blog.csdnimg.cn/img_convert/93dcdba0cf20d3b7f4064a15432b8bbf.png)
为什么说find函数是出库界面的核心函数呢,因为出库界面主要就是要根据用户的输入属性寻找到库存中匹配的项,而这里的“寻找”用到的就是find函数。
二、如何使用find函数?
先来看看excel自带的帮助里是怎么介绍find函数的:
用法 :在区域中查找特定信息。
语法 : 表达式.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
What 必选 Variant 要搜索的数据。可为字符串或任意
After 可选 Variant 表示搜索过程将从其之后开始进行的单元格。此单元格对应于从用户界面搜索时的活动单元格的位置。请注意:After 必须是区域中的单个单元格。要记住搜索是从该单元格之后开始的;直到此方法绕回到此单元格时,才对其进行搜索。如果不指定该参数,搜索将从区域的左上角的单元格之后开始。
LookIn 可选 Variant 信息类型
LookAt 可选 Variant 可为以下 XlLookAt 常量之一:xlWhole 或 xlPart。 SearchOrder 可选 Variant 可为以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。
SearchDirection 可选 XlSearchDirection 搜索的方向。
MatchCase 可选 Variant 如果为 True,则搜索区分大小写。默认值为 False。
MatchByte 可选 Variant 只在已经选择或安装了双字节语言支持时适用。如果为 True,则双字节字符只与双字节字符匹配。如果为 False,则双字节字符可与其对等的单字节字符匹配。
SearchFormat 可选 Variant 搜索的格式。
看到这里,肯能很多小伙伴表情是这样的
![40d8c37a44ae0507e9efe1ea12a8ec4e.png](https://img-blog.csdnimg.cn/img_convert/40d8c37a44ae0507e9efe1ea12a8ec4e.png)
没看懂的小伙伴也不要慌,作者的建议,不要管那些花里胡哨的,先用一波再说。
先来看一个例子
Sub test()
Dim fd As Range '定义一个范围变量,
Set fd = Sheet2.Range("a:a").Find(what:="你要找的东西", lookat:=xlWhole) 'find函数查找位置
r = fd.Row '返回行值
l = fd.Column '返回列值
Cells(r, l + 1) = "你要找的东西在这里" '标记找到的值
End Sub
就我个人理解,find函数就是在给定的范围内找到“what:=”这个属性后的值,如果找到则返回真,没找到则返回假,所以最后例子中最后得到的fd同样是一个范围,如果要找到搜索值所在的行、列或者值,都可以“.value”、“.row”等方式得到。
三、离入库界面还有一步之遥
相信明白了find函数之后,如何做出库界面相信大家心里多少有些想法了
![9453ed8c5a54ae74c8b595dddfc35b82.png](https://img-blog.csdnimg.cn/img_convert/9453ed8c5a54ae74c8b595dddfc35b82.png)