簡體   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