繁体   English   中英

从Sheet1中读入CustomerID,在Sheet 2上找到CustomerID,将CustomerName复制/粘贴到Sheet1

[英]Read-in CustomerID from Sheet1, find CustomerID on Sheet 2, copy/paste CustomerName to Sheet1

我是excel的新手,所以请多多包涵。

在我的工作簿的Sheet1上,我的数据如CostumerID,CosumerName,Email等分布在AG列中。 CostumerID填充为ID,而CostumerName为空。

在工作簿的Sheet2上,我有2列(A和B)。 列A包含客户ID,列B包含该客户ID的正确客户名。

我的问题是:

我需要一个宏,进入Sheet1,读取A列中的CustomerID,然后进入Sheet2,在A列中也找到CustomerID,在B列中获得CustomerName,并将该名称粘贴到Sheet1中的B列,从中将其粘贴到该单元格旁边获得了第一个客户ID。

进一步ellaboration:

步骤1:在工作表1的A列中获取单元格的值

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

步骤3:将该CostumerName粘贴到Sheet1上A列原始值所在的同一行的B列中。

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

通常,我会提出如何执行此操作的尝试,但是我不知道如何执行此操作。

有人有主意吗?

任何帮助将不胜感激!

“ Mark Wickett”已正确指出。 但是,如果您仍然想比这里去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

这是输出

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM