【问题标题】:Copy new rows into excel sheet based on search on one cell value根据对一个单元格值的搜索将新行复制到 Excel 工作表中
【发布时间】:2020-02-13 10:19:17
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    你可以试试:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多