excel vba 识别数据处于第几行并使用改行所含有的数据进行下一步操作, 代码怎么写啊

求大神帮忙,谢谢了,内容就是标题所表达的,具体叙述如下:
我想实现的是叫用户在弹出的对话框中输入A列中任意需要的数值以后,然后使用所输入数值这一行的B,C,D列数据,复制到另外一个excel里面。(其他代码我都写好了,只是想知道如何让excel识别输入的是第几行,这个确实不知道怎么写了)。
比如如图所示:比如用户在弹出的对话框中输入的是A3的数值“3”,然后我想excel自动识别A3是在第三行,然后复制B3的“GG”到我需要的另外一张excel表格中;同理如果输入的是A5的数值“5”,软件自动搜索到第五行B5“MM”复制到我想到的另一张excel中。

我自己写的复制代码是这样:
Range("A5").Select
Selection.Copy
Workbooks.Open Filename:="C:\Users\xx\xx\xx.xls"
Range("AK1:AZ2").Select
ActiveSheet.Paste

Windows("xx.xls").Activate
Range("B5").Select
Selection.Copy
Windows("xx.xls").Activate
Range("I5:AA6").Select
ActiveSheet.Paste

这样就固定死了只复制A5这一行所对应的数据,怎么改一下让excel自动识别用户所输入的数据是第几行,从而对应复制该行的数据进行下一步操作。求大神指点。
希望我叙述清楚了,谢谢大家了

第1个回答  2015-07-23
呵呵 你这录制的代码真心乱
x = InputBox("请输入内容", "提示")''弹出输入框输入内容
If x = "" Then Exit Sub''没有输入退出过程
Set rg = Columns(1).Find(x, lookat:=xlWhole) ''在现有工作表第一列搜索输入内容
If Not rg Is nofhing Then ''如果搜索到指定内容
Set wb = Workbooks.Open("C:\Users\xx\xx\xx.xls")''打开XX工作簿
rg.Offset(1).Resize(, 3).Copy wb.Sheets(1).Cells(1, 1)''搜索到的单元格的bcd列对应行复制到XX工作簿的第一个表的单元格A1
End If
'================================

看不懂录制的代码要干什么
以上代码没有容错处理
没有关闭工作簿
注释的很清楚,自己看着改
有用记得采纳本回答被提问者和网友采纳
相似回答