EXCEL命令中或者EXCEL VBA中有没有搜索出一个数值之后能列出此数值所在行的所有数值

EXCEL命令中或者EXCELVBA中有没有搜索出一个数值之后能列出此数值所在行的所有数值... EXCEL命令中或者EXCEL VBA中有没有搜索出一个数值之后能列出此数值所在行的所有数值 展开
 我来答
匹诺曹_浩
2011-07-13 · TA获得超过470个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:289万
展开全部
Dim findvalue As Range
Dim r As Long
Dim str
str = '你想找的数值'
Set findvalue = sheet1.Rows(2).Find(what:=str) '这句是找第二行的数据找到第一个为 str的数值就停止
If Not findvalue Is Nothing Then
r = findvalue.row '找到了行,其它数据你应该知道怎么找了吧
End If
追问
这个命令我试用了一下,没反应,我的意思是我在表1里的A1输入一个数值,之后VBA里的命令就会自动检索表2的A列,在其中找出所有的与表1的A1数值相等的数值,在表1中的A列列出来,而且不光列出在表2A列的所有跟表1A1数值相等的数值,还要列出这些数值所在行里面的不等的所有数值,也就是说表2里面的A列的数值是一行数值的一个代表值,只要在表1输入一个表2A列的代表值,那么这个代表值在表2所代表行的所有数值会自动在表1的一行里自动列出
追答
你的追问和你的问题差的也太多了 简直就是两个问题
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Application.ScreenUpdating = False
Dim dic, arr, i&, j&, r&
arr = Sheets(2).[A1].CurrentRegion
r = 2
For i = 1 To UBound(arr)
If arr(i, 1) = Target.Value Then
Sheets(1).Rows(r).Value = Sheets(2).Rows(i).Value
r = r + 1
End If
Next
Application.ScreenUpdating = True
End Sub
右击左下角 sheet1--查看代码 然后把这段代码复制到里面 在sheet1 A1 输入你要查的内容 用鼠标双击就可以了
liudex
2011-07-13 · TA获得超过1747个赞
知道小有建树答主
回答量:1614
采纳率:0%
帮助的人:1188万
展开全部
vlookup函数可以一个一个的返回,其实估计你也是要把所在行的数据一个一个的放在表格里
追问
这个是函数,那VBA里面有这样的命令吗?
追答
vba肯定能做啊,但是肯定不是一句话的命令了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huangmingming0
2011-07-14 · TA获得超过184个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:174万
展开全部
学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式