Vba 从Sheet1读入CustomerID,在Sheet2上找到CustomerID,将CustomerName复制/粘贴到Sheet1

Vba 从Sheet1读入CustomerID,在Sheet2上找到CustomerID,将CustomerName复制/粘贴到Sheet1,vba,excel,Vba,Excel,我是excel新手,所以请耐心听我说 在我的工作簿的第1页上,我有一些数据,如客户ID、客户名称、电子邮件等,分布在A-G列中。客户ID填充,客户名称为空 在工作簿的第2页上,我有两列A和B。A列包含CustomerID,B列包含该CustomerID的正确CustomerName 我的问题是: 我需要一个宏,它进入Sheet1,读取a列中的CustomerID,然后进入Sheet2,在a列中找到CustomerID,在B列中找到CustomerName,并将该名称粘贴到Sheet1中获得第一个

我是excel新手,所以请耐心听我说

在我的工作簿的第1页上,我有一些数据,如客户ID、客户名称、电子邮件等,分布在A-G列中。客户ID填充,客户名称为空

在工作簿的第2页上,我有两列A和B。A列包含CustomerID,B列包含该CustomerID的正确CustomerName

我的问题是:

我需要一个宏,它进入Sheet1,读取a列中的CustomerID,然后进入Sheet2,在a列中找到CustomerID,在B列中找到CustomerName,并将该名称粘贴到Sheet1中获得第一个CustomerID的单元格旁边的B列

进一步硼化:

步骤1:获取第1页A列中单元格的值

步骤2:转到Sheet2,在A列中找到该值,然后从同一行复制CustomerName

步骤3:将该客户名称粘贴到与Sheet1上A列原始值相同行的B列中

Sheet1可以是100-6000行,它需要检查Sheet1中A列中的所有CustomerID,并找到相应的CustomerName。表1的A列中可能有重复项,但D、F和G列的值都是唯一的

通常情况下,我会介绍我的尝试如何做到这一点,但我不知道如何做到这一点

有人有主意吗

任何帮助都将不胜感激

马克·威克特正确地指出了这一点。 但是如果你还想去vba,那就在这里

说这是你第一张纸的截图

这是你第二张照片的截图

这是密码

Dim rngCust As Range
Dim rNo As Long
Dim strCust As String
Dim rngSearch As Range
Dim rngFound As Range
Dim intFound As Long

Application.ScreenUpdating = False

Set rngCust = Sheets(1).Range(Cells(2, 1), Cells(2, 1).End(xlDown))
    For Each cell In rngCust.Cells
        rNo = cell.Row
        strCust = Cells(rNo, 1).Value
        Sheets(2).Select
            Set rngSearch = Sheets(2).Range(Cells(2, 1), Cells(2, 1).End(xlDown))
            Set rngFound = rngSearch.Find(What:=strCust, Lookat:=xlWhole, _
                           SearchOrder:=xlByRows, searchdirection:=xlNext, _
                           MatchCase:=False)
            If Not rngFound Is Nothing Then
                intFound = rngFound.Row
            End If
        Sheets(1).Select
        Sheets(1).Cells(rNo, 2).Value = Sheets(2).Cells(intFound, 2).Value

    Next
    Application.ScreenUpdating = True
这是输出


您不需要使用VBA:使用VLOOKUP来实现这一点-请参阅开始