[英]I'd like to compare data in two worksheets and copy a cell if there's a match
我想在兩個工作表之間匹配A列,如果有匹配項,則應將對應行的B列(sheet1)的數據復制到B列(sheet2)。
表格1:
第A欄-----------------第B欄
公司名稱1 ----------開始日期1
公司名稱2 ----------開始日期2
公司名稱3 ----------開始日期3
等等
表格2:
A欄
公司名稱1
公司名稱1
公司名稱1
公司名稱2
公司名稱2
等等。
我需要對行數不同的多個文件執行此操作。
我嘗試的方法如下,但最終只能將數據復制到C3。 有人知道我在做什么錯嗎?
Sub Startdatum()
cntcomp = ActiveWorkbook.Worksheets("Component").Range("A2", Worksheets("Component").Range("A2").End(xlDown)).Rows.Count
cntbedrijf = ActiveWorkbook.Worksheets("Bedrijf").Range("A2", Worksheets("Bedrijf").Range("A2").End(xlDown)).Rows.Count
For i = 2 To cntcomp
For j = 2 To cntbedrijf
If ActiveWorkbook.Worksheets("Component").Cells(1, i).Value = ActiveWorkbook.Worksheets("Bedrijf").Cells(1, j).Value Then
ActiveWorkbook.Worksheets("Component").Cells(3, i).Value = ActiveWorkbook.Worksheets("Bedrijf").Cells(2, j).Value
End If
Next j
Next i
End Sub
試試這個(修訂):
Function Startdatum(cell As Variant, cellrange As range, Optional celltarget As Variant) As String
For Each j In cellrange
If j = cell Then Startdatum = IIf(IsMissing(celltarget), j, celltarget): Exit Function
Next
End Function
將其放入新模塊中,然后可以輸入第一個單元格= Startdatum(A1,$ C $ 1:$ C $ 7,D1)
A1是您要比較的單元格。
$ C $ 1:$ C $不管是什么(當您向下拖動時,$都會保持范圍)是您要與之進行比較的單元格范圍。
D1是您要復制的單元格(如果存在匹配項)
向下拖動以完成整個范圍...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.