Excel精英培训网

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

[已解决]请大侠们帮改下代码

[复制链接]
发表于 2015-11-26 11:13 | 显示全部楼层 |阅读模式
  1. Sub 查找2()
  2.     Dim arr, brr(), brr2(), i&, m&, s$
  3.     s = [c1]
  4.     arr = Range("A2:B" & [a65536].End(xlUp).Row)
  5.     ReDim brr(1 To UBound(arr), 1 To 1)
  6.     ReDim brr2(1 To UBound(arr), 1 To 2)
  7.     For i = 1 To UBound(arr)
  8.         If InStr(arr(i, 1), s) Then
  9.             m = m + 1
  10.             brr(m, 1) = arr(i, 1)
  11.             brr2(m, 1) = arr(i, 2)
  12.         End If
  13.     Next
  14.     Range("c2:d65536").ClearContents
  15.     If m > 0 Then
  16.     [c2].Resize(m) = brr
  17.     [d2].Resize(m) = brr2
  18.     Else
  19.     MsgBox "查询结果为空"
  20.     Range("c2:d65536").ClearContents
  21.     End If
  22. End Sub
复制代码
这段代码是类似模糊搜索的,但是它只能在同一工作表中查找,希望大侠们帮忙改一下,可以把搜索区域改成另一个工作表中,我试了很长时间,一直没改成功,请大侠们帮帮忙吧!


最佳答案
2015-11-26 11:22
本帖最后由 这儿有肥猫 于 2015-11-26 11:24 编辑

比如arr = Range("A2:B" & [a65536].End(xlUp).Row)

改成arr = sheets("工作表名").Range("A2:B" & sheets("工作表名").[a65536].End(xlUp).Row)

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-11-26 11:22 | 显示全部楼层    本楼为最佳答案   
本帖最后由 这儿有肥猫 于 2015-11-26 11:24 编辑

比如arr = Range("A2:B" & [a65536].End(xlUp).Row)

改成arr = sheets("工作表名").Range("A2:B" & sheets("工作表名").[a65536].End(xlUp).Row)

回复

使用道具 举报

 楼主| 发表于 2015-11-26 11:45 | 显示全部楼层
这儿有肥猫 发表于 2015-11-26 11:22
比如arr = Range("A2:B" & [a65536].End(xlUp).Row)

改成arr = sheets("工作表名").Range("A2:B" & shee ...

正解,谢谢你。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 19:58 , Processed in 0.468716 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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