VB 怎么在EXCEL表格中模糊查找关键字符,显示整行在Listview

我写的代码如下,但搜索出来是精确查找。PrivateSubCommand1_Click()ListView1.ListItems.Clear'清空列表DimjAsInte... 我写的代码如下,但搜索出来是精确查找。
Private Sub Command1_Click()
ListView1.ListItems.Clear '清空列表
Dim j As Integer
Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
xlApp.DisplayAlerts = True
xlApp.Visible = False '设置EXCEL不可见
Set xlBook = xlApp.Workbooks.Open("\\F:\指导书清单.xls") '打开已经存在的EXCEL工件簿文件
Set xlsheet = xlBook.Worksheets(1) 'xlsheet.Activate '激活工作表(1)
On Error Resume Next

Dim litem
Dim i As Variant
For i =1 To 50
If Cells(i, 3).Value = Text1.Text Then ‘不会模糊查找
Set litem = ListView1.ListItems.Add()
litem.Text = xlsheet.Cells(i, 1)
litem.SubItems(1) = xlsheet.Cells(i, 2)
litem.SubItems(2) = xlsheet.Cells(i, 3)
litem.SubItems(3) = xlsheet.Cells(i, 4)
End If
Next i
xlBook.Close (True) '关闭EXCEL工作簿
xlApp.Quit '关闭EXCEL
Set xlApp = Nothing '释放EXCEL对象
End Sub
展开
 我来答
tchangyun
2013-06-24 · TA获得超过2012个赞
知道小有建树答主
回答量:1244
采纳率:0%
帮助的人:740万
展开全部
用instr这个函数

把上面不会模糊查找的那行改为:

if instr(Cells(i,3).value,text1.text)>0 then
更多追问追答
追问
刚在WIN7上不能正常运行VB,明天去公司在XP系统上试试。

想请再问下,我在TEXT1.TEXT中输入 "7", EXCEL表格中不同的行有721 ,7BB,7AA 三个数据。搜索后是否能将上面提到的3行都显示在Listview?
追答
win7上Vb不能正常运行,什么情况,我的64位win7都可以呢
必须可以啊,你把上面的 for 循环改为0到excel的总行数,就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式