我想比较两个工作表中的数据,如果有匹配项,则复制一个单元格



我想在两个工作表之间匹配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 是您要复制的单元格(如果有匹配项)

向下拖动以完成整个范围...

相关内容

  • 没有找到相关文章

最新更新