如果我将其添加到 Sheet-1 中的主表中,则自动将一行添加到 Sheet-2 中的类似表中

如果我将其添加到 Sheet-1 中的主表中,则自动将一行添加到 Sheet-2 中的类似表中

我在 excel 工作簿的 Sheet-1 中有以下表格。我想要一个 excel 公式,如果我将其添加到 Sheet-1 中的主表中,该公式可以让我自动将一行添加到 Sheet-2 中的类似表中。

示例:如果我在 Sheet-1 中添加名为“Jane”的行,该行应自动添加到 Sheet-2 中的类似表中。

Name    Hours   Rate    Total
jhon    35  10  350
David   20  11  220
Mark    50  12  600
Hellen  40  11  440
Iren    40  13  520
Nicole  39  14  546

答案1

这是 VBA 解决方案。

1)打开 VBA 编辑器(Alt+ F11

2)双击左侧项目资源管理器窗口中的工作表对象(它具有树结构)

3)粘贴此代码:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cell As Range
    If TypeName(Target) = "Range" Then
        If LenB(Target.Cells(1, 1).Value) > 0 Then
            If Not Intersect(Target, Range("A:A")) Is Nothing Then
                If Target.SpecialCells(xlCellTypeLastCell).Row = UsedRange.Rows.Count Then
                    If UsedRange.Rows.Count > Sheet2.UsedRange.Rows.Count Then
                        For Each cell In Target.Cells
                            If Not Intersect(cell, Range("A:A")) Is Nothing Then Sheet2.Cells(Sheet2.UsedRange.Rows.Count + 1, 1).Value = cell.Value
                        Next
                    End If
                End If
            End If
        End If
    End If
    Set cell = Nothing
End Sub

4) 根据需要更改值。最重要的内容如下:
  4.1)如果列不在列上,Range("A:A")则更改为列所在的位置。4.2   )更改为要复制值的工作表的 VBA 代码名称。代码名称是 VBA 编辑器左侧树中显示的内容。默认情况下,它是诸如、等。(它与选项卡名称默认值相同,但没有空格。)NameA
Sheet2Sheet1Sheet2

要点:这只会添加行。它不会像删除 Sheet-1 上的内容那样删除它们。您可以这样做,但我尽量避免在 VBA 中删除内容,除非我非常确定,因为您无法轻松撤消该操作。

相关内容