Vba 从Sheet1读入CustomerID,在Sheet2上找到CustomerID,将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,那就在这里 说这是你第一张纸的截图 这是你第二张照片的截图 这是密码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中获得第一个
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来实现这一点-请参阅开始