繁体   English   中英

根据对一个单元格值的搜索将新行复制到 Excel 工作表中

[英]Copy new rows into excel sheet based on search on one cell value

我有一个我管理的 Excel 工作表,如果新行被添加到另一个我没有管理的 Excel 工作表中,我需要添加行。

简单地说,我可能坐在一张看起来像这样的 excel 表上:

我的excel表

我需要根据文档代码列搜索另一个 Excel 表(参见图 2)以查找新添加的行,如下所示:

“源”excel表

理想情况下,我希望我的 excel 表最终看起来像这样,如果新行包含以前不在我的 excel 表中的文档代码,则添加新行:

我更新的 Excel 表

我之前看到过类似的问题,但仅针对更简单的搜索,例如基于单元格中的固定值,例如是/否,我并没有完全根据我的情况修改这些答案。 .

你可以试试:

Sub test()

    Dim wsAll As Worksheet, wsNew As Worksheet
    Dim LastRowNew As Long, LastrowAll As Long, i As Long
    Dim rngFound As Range

    With ThisWorkbook

        'The sheet with all data
        Set wsAll = .Worksheets("All_Imports")
        'The sheet with new data
        Set wsNew = .Worksheets("New_Imports")

    End With

    With wsNew

        LastRowNew = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 2 To LastRowNew

            Set rngFound = wsAll.Columns(1).Find(.Range("A" & i).Value, LookIn:=xlValues, LookAt:=xlWhole)

            If rngFound Is Nothing Then

                With wsAll
                    LastrowAll = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
                    .Range("A" & LastrowAll).Value = wsNew.Range("A" & i).Value
                    .Range("B" & LastrowAll).Value = wsNew.Range("B" & i).Value
                End With

            End If

        Next i

    End With

End Sub

暂无
暂无

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

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