考虑到唯一的参考号码,将一行中的单元格复制到另一个表格

我尝试通过将表单中的input参考号与“logging”栏B中的数字进行匹配来从表单“logging”中提取数据。 我可以通过命令button点击下面的VB代码。 但是,它只会从表单“logging”列i中返回一个单独的值,并且编码每个都将非常耗时。

Private Sub CommandButton1_Click() With Application.WorksheetFunction Sheets("Form").Range("b:b") = _ .Index(Sheets("Record").Range("h:h"), .Match(Sheets("Form").Range("i13"), Sheets("Record").Range("b:b"), 0), 1) End With End Sub 

如果工作表“表格”的单元格I13中的参考编号与表格“logging?”的列B上的任何值相匹配,我想知道是否可以将表格“logging”列HQ中的值复制到表格“表格”列BK中? 因为我大部分时间遇到的是返回整行。
我真的很感激任何帮助。 谢谢

这可能是蛮力,但我认为最好的方法是循环这样的数据:

 'Find the last row of data Public Function Get_Last_Row_Find(ByVal rngToCheck As Range) As Long Dim rngLast As Range Set rngLast = rngToCheck.Find(what:="*", searchorder:=xlByRows, SearchDirection:=xlPrevious) If rngLast Is Nothing Then Get_Last_Row_Find = rngToCheck.Row Else Get_Last_Row_Find = rngLast.Row End If If Get_Last_Row_Find <= 1 Then Get_Last_Row_Find = 2 End If End Function Public Sub CommandButton1_Click x = Get_Last_Row_Find(Sheets("Record").Range("B:B") for i = 1 to x if Sheets("Form").Range("I13").Value = Sheets("Record").Range("B:B").Offset(i-1,0).Value then 'match Worksheets("Record").Range("H"&i&":Q"&i).Copy _ destination:=Worksheets("Form").Range("B"&i&":K"&i) next i 

注意两种“抵消”方法:你可以使用.Offset方法,或者你可以使用一个variables,并在Range(“”)文本中连接它。

代码未经testing。