繁体   English   中英

在工作表中检查单元格中是否有新项目,并在新工作表中添加新项目

[英]Check a sheet for new items in cell and add new items in new sheet

我有2个电子表格; 1用于原始数据(表1),而1用于计算和数据转换(表2)

随着工作表1中项目的数量每天增加,是否有代码可以针对工作表2检查工作表1中是否有新项目,然后将新项目添加到工作表2中的第一个空行中

例如在工作表1中,我有:

苹果橙芒果梨葡萄

但是在工作表2中,我有:

苹果橙芒果

如何在工作表2中检查工作表1中的新项目(即梨和葡萄),然后将其添加到下一个空行(即芒果正下方的行)中

提前致谢!

编辑:18/04/11

谢谢您的帮助! 提供的解决方案按预期工作。 现在,我有一个案例b,我需要基于一组条件将新项目添加到“表1”中“表3”的下一个空行中

例如,来自集中原始数据表1:

我想将水果,红色和四舍五入的新条目转移到工作表3中(即,在这种情况下,西红柿不在工作表3中,我希望结束)

谢谢!

Dim I as long 
I = 1
Do until isempty(worksheets.cells(1,i).value) 

如果一个工作表中的单元格为空,则比较行,您必须将其复制。

I = I + 1
Loop

开始时,您需要将I设置为1,否则您将从0开始,这是不可能的。

硬编码

假设数据在两个工作表中的“ B”列中并且从第二行(或“ B2”单元格)开始:

Sub CopyData()
  Const cLngFirstRow As Long = 2
  Const cIntCol As String = "B"

  Dim oRng1 As Range
  Dim oRng2 As Range
  Dim Cell1 As Range
  Dim Cell2 As Range

  Dim lngRow As Long 'Row to write to
  Dim blnNotFound As Boolean

  With Sheet1
    Set oRng1 = .Range(.Cells(cLngFirstRow, cIntCol), _
        .Cells(.Cells(.Rows.Count, cIntCol).End(xlUp).Row, cIntCol))
  End With
  With Sheet2
    Set oRng2 = .Range(.Cells(cLngFirstRow, cIntCol), _
        .Cells(.Cells(.Rows.Count, cIntCol).End(xlUp).Row, cIntCol))
    lngRow = .Cells(.Rows.Count, cIntCol).End(xlUp).Row
  End With

  For Each Cell1 In oRng1
    For Each Cell2 In oRng2
      If Cell1.Value = Cell2.Value Then
        blnNotFound = False
        Exit For
      End If
      blnNotFound = True
    Next
    If blnNotFound Then
      lngRow = lngRow + 1
      Sheet2.Cells(lngRow, cIntCol) = Cell1.Value
      blnNotFound = False
    End If
  Next

End Sub

注意:Sheet1和Sheet2是CodeNames 您可以根据需要重命名工作表名称。

您可以使用Range对象的RemoveDuplicates()方法:

Sub CheckSheet()
    With Worksheets("Sheet1")
        With .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
            Worksheets("Sheet2").Range("A1").Resize(.Rows.Count).Value = .Value
            Worksheets("Sheet2").Range("A1").Resize(.Rows.Count).RemoveDuplicates Columns:=(Array(1))
        End With
    End With
End Sub

暂无
暂无

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

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