Excel 动态搜索ListObjects之间缺少的值
我想遍历Table1的一列,如果Table2的相同列名中缺少该值,则将其插入Table2的末尾。 下面的代码插入表1中的精确行数,但只插入最后一行的值 e、 g.表1: 列名 价值1 价值2 价值3 价值4Excel 动态搜索ListObjects之间缺少的值,excel,vba,Excel,Vba,我想遍历Table1的一列,如果Table2的相同列名中缺少该值,则将其插入Table2的末尾。 下面的代码插入表1中的精确行数,但只插入最后一行的值 e、 g.表1: 列名 价值1 价值2 价值3 价值4 试试这个。根据注释,假设您首先向第二个表中添加了一行,然后将值插入该列的底行 有一本很好的桌子指南 另一种方法依赖于表的自动扩展能力。不过,我还是同意@SJR的回答 Option Explicit Public Sub FindingMissingValues() Dim Sour
试试这个。根据注释,假设您首先向第二个表中添加了一行,然后将值插入该列的底行 有一本很好的桌子指南
另一种方法依赖于表的自动扩展能力。不过,我还是同意@SJR的回答
Option Explicit
Public Sub FindingMissingValues()
Dim SourceTable As ListObject
Dim TargetTable As ListObject
Dim rngDataCell As Range
Dim LastRow As Range
Set SourceTable = Sheet1.ListObjects("Table1")
Set TargetTable = Sheet2.ListObjects("Table2")
For Each rngDataCell In SourceTable.ListColumns("Column Name").DataBodyRange.Rows
If TargetTable.ListColumns("Column Name").DataBodyRange.Find(rngDataCell.Value, _
, , xlWhole) Is Nothing Then
Set LastRow = TargetTable.ListRows(TargetTable.ListRows.Count).Range
TargetTable.ListColumns("Column Name").DataBodyRange.Cells(LastRow.Row + 1 _
- TargetTable.HeaderRowRange.Row).Value = rngDataCell.Value
End If
Next rngDataCell
End Sub
我想您必须首先在第二个表中添加一行,然后在列的最后一行中添加值。
Option Explicit
Public Sub FindingMissingValues()
Dim SourceTable As ListObject
Dim TargetTable As ListObject
Dim rngDataCell As Range
Dim LastRow As Range
Set SourceTable = Sheet1.ListObjects("Table1")
Set TargetTable = Sheet2.ListObjects("Table2")
For Each rngDataCell In SourceTable.ListColumns("Column Name").DataBodyRange.Rows
If TargetTable.ListColumns("Column Name").DataBodyRange.Find(rngDataCell.Value, _
, , xlWhole) Is Nothing Then
Set LastRow = TargetTable.ListRows(TargetTable.ListRows.Count).Range
TargetTable.ListColumns("Column Name").DataBodyRange.Cells(LastRow.Row + 1 _
- TargetTable.HeaderRowRange.Row).Value = rngDataCell.Value
End If
Next rngDataCell
End Sub