find vba 模糊_VBA中find的一些使用方法

用excel处理数据的时候,无论是使用VBA还是函数,查找和引用都是两大主要的工作,VBA中的find系列的方法(find、findnext、Range.FindPrevious)返回range对象,可以同时实现查找和引用,因此非常有用,下面列举一些常见的find的用法:

Sub Find1() '在某列查找

Dim k

k = Range("A:A").Find("A").Row

MsgBox k

End Sub

==================================================

Sub Find11() '在多列查找

Dim k

k = Range("A:B").Find("BCD").Row

MsgBox k

End Sub

==================================================

Sub Find2() '查找的起始位置

Dim k

k = Range("A:B").Find("A", AFTER:=Range("A5")).Row

MsgBox k

End Sub

==================================================

Sub Find3() '在值中查找

Dim k

k = Range("B:B").Find("SE", LookIn:=xlValues).Row

MsgBox k

End Sub

==================================================

Sub Find31() '在公式中查找

Dim k

k = Range("B:B").Find("C2", LookIn:=xlFormulas).Address

MsgBox k

End Sub

==================================================

Sub Find32() '在备注中查找

Dim k

k = Range("B:C").Find("AB", LookIn:=xlComments).Address

MsgBox k

End Sub

==================================================

Sub Find41() '按模糊查找

Dim k

k = Range("B:C").Find("A", LookIn:=xlValues, LOOKAT:=xlPart).Address

MsgBox k

End Sub

==================================================

Sub Find42() '匹配查找

Dim k

k = Range("B:C").Find("A", LookIn:=xlValues, LOOKAT:=xlWhole).Address

MsgBox k

End Sub

==================================================

Sub Find5() '按先行后列的方式查找

Dim k

k = Range("A:B").Find("AB", LookIn:=xlValues, LOOKAT:=xlWhole, SEARCHORDER:=xlByRows).Address

MsgBox k

End Sub

==================================================

Sub Find51() '按先列后行的方式查找

Dim k

k = Range("A:B").Find("AB", LookIn:=xlValues, LOOKAT:=xlWhole, SEARCHORDER:=xlByColumns).Address

MsgBox k

End Sub

==================================================

Sub Find6() '查找方向(从后向前)

Dim k

k = Range("A:A").Find("A", , xlValues, xlWhole, xlByColumns, xlPrevious).Address

MsgBox k

End Sub

==================================================

Sub Find61() '查找方向(从前向后)

Dim k

k = Range("A:A").Find("A", , xlValues, xlWhole, xlByColumns, xlNext).Address

MsgBox k

End Sub

==================================================

Sub Find7() '字母大小写

Dim k

k = Range("a:b").Find("a", , xlValues, xlWhole, xlByColumns, xlNext, False).Address

MsgBox k

End Sub

==================================================

Sub f7() '查找不到的情况

Dim MRG As Range

Set MRG = Range("A:A").Find("D")

If MRG Is Nothing Then

MsgBox "查找不到字母D"

Else

MsgBox "查找成功,单元格地址为:" & MRG.Address

End If

End Sub

==================================================

Sub f8() '二次查找

Dim MRG As Range

Set MRG = Range("A:A").Find("A")

Set mrg1 = Range("A:A").FindNext(MRG)

MsgBox mrg1.Address

End Sub

==================================================

Sub F9() '区域查找

Dim MRG As Range, AAA As String

Set MRG = Range("A1:F16").Find("A")

AAA = MRG.Address

Do

Set MRG = Range("A1:F16").FindNext(MRG)

MsgBox MRG.Address

Loop Until MRG.Address = AAAEnd Sub

==================================================

Sub Myfind()

Dim iRange As Range, iFined As Range

Dim iStr, iAddress As String, N As Integer

'以上是定义使用到的变量

Set iRange = Range("A2:A100") '给irange变量赋值为A2:A100区域

iStr = Range("A1").Value '给要查找的字符串变量赋值为A1单元格的值

Set iFined = iRange.Find(iStr, lookat:=xlWhole) '在irange区域内查找等于变量istr的单元格,并赋值给你ifined变量,如果要查找包含istr变量的单元格,更改参数lookat:=xlPart

If iFined Is Nothing Then '判断 ifined变量是空

MsgBox "在" & iRange.Address(0, 0) & "区域里,没有找到内容等于" & iStr & "的单元格!"

Exit Sub

Else

iAddress = iFined.Address(0, 0)

Do

N = N + 1

Set iFined = iRange.FindNext(iFined) '继续向下查找等于istr变量的单元格

Loop While Not iFined Is Nothing And iAddress <> iFined.Address(0, 0) 'do循环的条件为ifined变量非空,并且ifined变量的单元格地址不等于找到的第一个单元格地址

End If

MsgBox "在" & iRange.Address(0, 0) & "区域里,共找到内容等于" & iStr & "的单元格有:" & N & "个!"

End Sub

VB类模块中属性的参数——VBA中Range对象的Value属性和Value2属性的一点区别

在VB中,属性是可以有参数的,而VBA中属性使用参数非常常见.比如最常用的:Worksheet.Range("A1:A10")  VB的语法,使用参数的不一定是方法,也有可能是属性 ...

在VBA中使用Windows API

VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个 ...

VBA中使用JavaScript脚本语言解析JSON数据

JSON:JavaScript 对象表示法(JavaScript Object Notation) 和xml相似,都是文本形式(保存在文本文件中或字符串等形式),比如: jsstr = {" ...

VBA中操作XML

OFFICE2007之后使用了OpenXml标准(伟大的改变),定制文本级的Ribbon可以通过修改压缩包内的xml文件来实现. 先学习一下VBA中操作XML的方法 先引用Microsoft XML ...

VBA中的FileSystemObject对象(FSO)和文本流

对FileSystemObject一直略有耳闻,VBA爱好者常常简称为FSO对象. 在Scripting类库中有三个可以直接使用NEW关键字实例化的类,第一个就是常用的字典,第三个是FSO. 一.FS ...

VBA中自定义类和事件的(伪)注册

想了解一下VBA中自定义类和事件,以及注册事件处理程序的方法. 折腾了大半天,觉得这样的方式实在称不上“注册”,所以加一个“伪”字.纯粹是瞎试,原理也还没有摸透.先留着,有时间再接着摸. 做以下尝试: ...

VBA中四种自动运行的宏以及模块的含义

在Excel的“标准模块”中可以创建4种自动运行的宏,它们分别是Auto_Open(打开工作 簿时自动运行), Auto_Close, Auto_Activate,  Auto_Deactivate. ...

处理Selection对象和Range对象——Word VBA中重要的两个对象

处理Selection对象和Range对象——Word VBA中重要的两个对象 Word 开发人员参考Selection 对象代表窗口或窗格中的当前所选内容.所选内容代表文档中选定(或突出显示)的区域 ...

在VB6/VBA中使用正则表达式

一.关于起因 最近在Office的QQ群里问如何在一串字符串中提取数值并加总的问题.如果使用正则表达式可以非常迅速的解决这个问题. 那么今天我就探讨一下在VB6/VBA中使用正则表达式的方法及代码,另 ...

随机推荐

kubernetes部署Fluentd+Elasticsearch+kibana 日志收集系统

一.介绍 1. Fluentd 是一个开源收集事件和日志系统,用与各node节点日志数据的收集.处理等等.详细介绍移步-->官方地址:http://fluentd.org/ 2. Elastic ...

Hadoop入门进阶课程2--Hadoop2.X 64位编译

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

[转]20个高级Java面试题汇总

http://saebbs.com/forum.php?mod=viewthread&tid=37567&page=1&extra= 这是一个高级Java面试系列题中的第一部分 ...

C++指针的引用

[1]指针的引用,必须加上头文件因为调用类setw() 对一个数据可以使用“引用”(reference)这是C++           对C的一个重要扩充,引用是一种新的 ...

Javascript之三种按钮点击事件

学习Javascript必须要先掌握基本的事件方法和语法,这些都是我们学过的也是最基本的.以前忘了总结,所以现在回顾,综合地总结一下,温故而知新. Javascript有三种按钮点击事件,分别为ale ...

【转载】GDB反向调试(Reverse Debugging)

记得刚开始学C语言的时候,用vc的F10来调试程序,经常就是一阵狂按,然后一不小心按过了.结果又得从头再来,那时候我就问我的老师,能不能倒退回去几步.我的老师很遗憾地和我说,不行,开弓没有回头箭.这句 ...

HDU 3078 Network LCA

题意:n个点 m个询问,下面一行是n 个点的权值 再下面n-1行是双向的边 然后m个询问:k u v 若k==0,则把u点的权值改为v,否则回答u->v之间最短路经过点的权值中  第k大的值是多 ...

lua学习笔记(1)-基本语法

==============变量类型nilnumber(实数)    1 2 3.14 7.65e8string            "hello world" "\n ...

Gym 100553B Burrito King 无脑背包

题意就是你有n和m两个上限 吃一个东西会同时增加两个东西 m的值不能超过给定的m 问最后的n m值和每个东西吃了多少 贪心一下就好了 算一下性价比 从最大的开始吃 直到吃满了m n也一定是最大了 只是 ...

Maven02——回顾、整合ssh框架、分模块开发、私服

1 回顾 1.1 Maven的好处 节省空间 对jar包做了统一管理 依赖管理 一键构建 可跨平台 应用在大型项目可提高开发效率 1.2 Maven安装部署配置 1.3 Maven的仓库 本地仓库 远 ...

你可能感兴趣的:(find,vba,模糊)