如何用EXCEL VBA编写模糊查询程序,并将结果显示在工作表中

需要模糊查询的内容与目标不完全一致,如要查“角铁50*5",但系统中有“角铁40*4”,此时仍可搜索到。搜索到的多个目标,可以多行显示在工作表中。有点难,拜求各位大虾了~... 需要模糊查询的内容与目标不完全一致,如要查“角铁 50*5",但系统中有“角铁 40*4” ,此时仍可搜索到。搜索到的多个目标,可以多行显示在工作表中。
有点难,拜求各位大虾了~
展开
 我来答
天蝎david
推荐于2016-11-01 · TA获得超过1639个赞
知道小有建树答主
回答量:784
采纳率:0%
帮助的人:438万
展开全部
不难实现,但代码就懒得写了。
步骤:
1、利用INPUTBOX()获得想查询的内容,并存放到局部变量INPUTDATA 中
2、用DIM MYRANGE AS RANGE 和以下语句组合进行查找
Set MyRange = Sheets("工作表名称").Cells.Find(what:=INPUTDATA, After:=ActiveCell, LookIn:=xlValues, lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False)
3、用条件语句进行判断是否找到或符合
If MyRange Is Nothing Then
MsgBox "没找到符合条件的记录!"
.....
else
找到的话,进行相应的单元格赋值操作
.....
endif
4、用将上述步骤嵌套到一个循环语句内,以便继续查找。
cb...a@yahoo.com.cn
2011-12-19 · TA获得超过1195个赞
知道小有建树答主
回答量:605
采纳率:100%
帮助的人:200万
展开全部
EXCEL本身就有自动筛选功能,通过自定义筛选条件,就可以实现模糊查找,比如设置筛选条件为“包含”字符“角铁”,就可以把所有“角铁”的项都查询出来!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
麦仔来啦
2011-12-23 · TA获得超过753个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:86.9万
展开全部
建立一个宏或一个按键复制下列代码到里面。
'搜索到的多个目标,可以多行显示在工作表中。
With Cells
Set c = .Find("角铁", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
r = c.Row
Rows(r).Interior.ColorIndex = 3 '如果存在就把当它所在的行全为红色
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
testcrab
2011-12-20 · TA获得超过488个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:247万
展开全部
以下代码使用正则表达式,查找 sheet表中a1:b10范围内的值。
Sub 宏2()
'
' 宏2 宏
'
Dim my As String
my = "角铁 \d+\*\d+"
Dim reg
Set reg = CreateObject("VBSCRIPT.REGEXP")
With reg
.Global = True
.IgnoreCase = True
.Pattern = my
End With
Dim iii
iii = 1
Sheets("Sheet1").Select
For Each c In Worksheets("Sheet1").Range("A1:b10")
c.Select
Dim mc As MatchCollection
Dim m As Match
Set mc = reg.Execute(c.Value)
If mc.Count > 0 Then
Worksheets("Sheet2").Cells(iii, 1).Value = c.AddressLocal(RowAbsolute:=False, ColumnAbsolute:=False)
iii = iii + 1
End If
Next c
End Sub

==========================================
欢迎到Excel Home论坛学习、交流
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式