Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2931|回复: 2

[已解决]模糊查找代码修改

[复制链接]
发表于 2015-7-29 22:03 | 显示全部楼层 |阅读模式
本帖最后由 yeminqiang 于 2015-7-29 22:04 编辑
  1. Sub 数组()
  2. Dim arr,brr
  3. arr = Sheet2.Range("a1:a40")
  4. Sheet3.Range("A:A").ClearContents
  5. For x = 1 To UBound(arr)
  6. If arr(x, 1) Like "*a*" Then
  7. brr = arr(x, 1)
  8. t = t + 1
  9. End If
  10. Next
  11. Sheet3.[a1].Resize(t, 1) = WorksheetFunction.Transpose(brr)
  12. End Sub
复制代码
断断续续的学VBA,学了又忘,忘了又学,就是不能坚持到底。唉....

现在想用数组做一个工作表A列的模糊查找,依记忆想做修改,发觉好像brr永远显示的是最后一个值,请大侠告知原因,并指导。
请看附件,在此先致谢!

副本5-22 使用Like运算符进行模式匹配查找.zip (109.39 KB, 下载次数: 24)
发表于 2015-7-29 22:15 | 显示全部楼层
Dim arr,brr
arr = Sheet2.Range("a1:a40")
redim brr(1 to 40)


If arr(x, 1) Like "*a*" Then
t=t+1
brr(t) = arr(x, 1)

这样试试

评分

参与人数 1 +1 收起 理由
yeminqiang + 1 感谢,虽然代码有误

查看全部评分

回复

使用道具 举报

发表于 2015-7-29 22:20 | 显示全部楼层    本楼为最佳答案   
  1. Sub 数组()
  2. Dim arr, brr
  3. arr = Sheet2.Range("a1:a40")
  4. ReDim brr(1 To UBound(arr), 1 To 1)
  5. Sheet3.Range("A:A").ClearContents
  6. For x = 1 To UBound(arr)
  7.     If arr(x, 1) Like "*a*" Then
  8.         t = t + 1
  9.         brr(t, 1) = arr(x, 1)
  10.     End If
  11. Next
  12. If t > 0 Then Sheet3.[a1].Resize(t, 1) = brr
  13. End Sub
复制代码

评分

参与人数 1 +1 收起 理由
yeminqiang + 1 行,我看行!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 17:39 , Processed in 0.446811 second(s), 20 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表