用于捕获对单元格所做更改的VBA脚本

时间:2016-04-08 23:56:07

标签: excel vba

在Sheet1中,我有一个包含数据的表(没有公式),范围A1:R53。如果我更新任何单元格,我希望整个行在Sheet2中复制并粘贴新数据。

我不想要复制整个表格,只需要更改单元格的行和字体颜色为红色。应将行粘贴到下一个可用行中,而不是覆盖以前的条目。

1 个答案:

答案 0 :(得分:1)

将此事件宏放在 Sheet1 工作表代码区域中:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range, N As Long

    Set rng = Range("A1:R53")
    If Intersect(rng, Target) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub

    Target.Interior.ColorIndex = 27
    With Sheets("Sheet2")
        If .Cells(1, 1).Value = "" Then
            N = 1
        Else
            N = .Cells(Rows.Count, "A").End(xlUp).Row + 1
        End If
        Target.EntireRow.Copy .Cells(N, 1)
    End With
End Sub

根据您的需要调整颜色。