EXCEL中用VBA复制整行

两个文件夹中的表复整行制(包括下拉列表,函数等全部):表一和表二的A列是序号,想在表二中录入序号按回车就把表一序号所对应的一整行复制过来。谢谢
表中有自绘图形

这里假设表1的数据在A:H列
用函数可在表二的B1输入公式如下,公式右拉完成(A1输入序号)
=VLOOKUP($A1,Sheet1!$A:$H,COLUMN(),0)

如果用VBA实现,不管表1数据有几列,整行复制。代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
With Sheets("sheet1")
For x = 1 To .Range("A65536").End(xlUp).Row
If .Cells(x, 1) = Target.Value Then
.Rows(x).Copy Target.Rows
Exit Sub
End If
Next x
End With
End If
End Sub
把这代码放到表2的代码编辑框中即可实现你要的结果追问

请问指定表一路径的是哪一段代码?

追答

晕,搞错了,你是两个工作簿是吧?这个代码是在同一工作簿中的两个工作表的。

追问

是的,在这里我传不上附件,可加你QQ吗,我的451730539

追答

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lj As String
Lj = "D:\我的文档\表2.xls"
If Target.Column = 1 And Target.Count = 1 Then
Workbooks.Open Lj
With Workbooks("表2.xls").Sheets("sheet1")
For x = 1 To .Range("A65536").End(xlUp).Row
If .Cells(x, 1) = Target.Value Then
.Rows(x).Copy Target.Rows
Exit Sub
End If
Next x
End With
Workbooks("表2.xls").Close True
End If
End Sub

追问

成功了,非常感谢,有一点我想改进,复制后希望返回的是表二,不是表一的结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-05
用 vlookup 函数。到Excel帮助中学习Ta的用法。
第2个回答  2011-04-05
把表传上..追问

请问在这里怎样传表上来?

相似回答