VBA Excel代码-在另一个工作簿中查找单元格值,并将相邻单元格复制到第一个工作簿

VBA Excel代码-在另一个工作簿中查找单元格值,并将相邻单元格复制到第一个工作簿,excel,vba,Excel,Vba,我有一个简短的问题;我有两本工作手册,比如说wbk1和wbk2;我试图做的是在wbk2的特定列中查找wbk1中某列的每个单元格值,并将偏移单元格值从wbk2返回到wbk1中搜索值的相邻单元格 有人能帮忙吗? 顺便说一下,如果有帮助的话,我可以找到下面的代码; "================= Sub find1() Dim Key Dim Target Dim Hnum Dim Success Dim wbk As Workbook Dim Lastrow As Long Dim one

我有一个简短的问题;我有两本工作手册,比如说wbk1和wbk2;我试图做的是在wbk2的特定列中查找wbk1中某列的每个单元格值,并将偏移单元格值从wbk2返回到wbk1中搜索值的相邻单元格

有人能帮忙吗? 顺便说一下,如果有帮助的话,我可以找到下面的代码; "=================

Sub find1()

Dim Key
Dim Target
Dim Hnum
Dim Success
Dim wbk As Workbook
Dim Lastrow As Long
Dim one As Long

Success = False
Application.ScreenUpdating = False

strSecondFile = "C:\Soroush\08- Technical\03- Stock\Test\PL_Test_01\PL_Test_01.xlsm"
strFrthFile = "C:\Soroush\08- Technical\03- Stock\CNC_Test.xlsx"
'==

 Sheets("sheet2").Select

    Lastrow = ActiveSheet.UsedRange.Rows.Count

    If Not IsEmpty(Cells(5, 9).Value) Then
    Key = Cells(5, 9).Value

 For i = 5 To Lastrow

' If Not IsEmpty(Cells(i, 9).Value) Then
'    Key = Cells(i, 9).Value

 Set wbk = Workbooks.Open(strFrthFile)
 With wbk.Sheets("Sheet1")

    Set Target = Columns(1).find(Key, LookIn:=xlValues)

    If Not Target Is Nothing Then

        ActiveCell.Select
        Selection.Copy


        Set wbk = Workbooks.Open(strSecondFile)
            With wbk.Sheets("Sheet2")
                Sheets("Sheet2").Select
                    Cells(i, 10).Select
                        ActiveCell.Paste


                 If Not IsEmpty(Cells(i + 1, 9).Value) Then
                    Key = Cells(i + 1, 9).Value

            End If

        End With

    End If

 End With
'End If

 Next
    End If

End Sub


'=========================================================================
但它不起作用,我也弄不明白。我很感激对这个宏的任何评论


干杯

您可以使用索引和匹配

在这种情况下,单元格E2中的值与B2到B6中的值匹配。然后根据C列对其进行索引,并返回C列中的值


*忽略“哺乳动物”的拼写错误

这里的答案是
vlookup
公式。您当然也可以在VBA中使用vlookup,但可能没有必要。花点时间熟悉它的公式形式。我需要一个宏!这是另一个工作簿,它将转到另一个工作簿中的工作表并执行此工作!它将类似于我发布的代码。