首页 > 解决方案 > 当值在另一个单元格中更改时存储新的数据行 - 更改值宏

问题描述

我有一个电子表格,它有一个不断输入数据的加载项。数据不时变化。我需要一个宏,该宏将创建一个新的行项目,每次 3 个单元格中的任何一个单元格中的值发生更改时,都会使用时间戳存储此数据。

在单元格 J3、L3、N3 中,输入将更改的实时数据的值。每当 J3、L3 或 N3 中的值发生更改时,我希望这些单元格中的值复制并粘贴到单元格 B、D、F 中的新行项目中,并在 A 列中添加时间戳。

我是新手,所以对我轻松一点。下面是代码,它不起作用,因为如果其中一个值发生变化,它只会更新一列,但我希望所有 3 个值都被记录,无论它是否只有 J3、L3、N3 中的数据发生变化:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$J$3" Then
SPOT1 = Sheets("Sheet1").Cells(Rows.Count, "B").End(xlUp).Row + 1
Sheets("Sheet1").Range("B" & SPOT1).Value = 
Sheets("Sheet1").Range("J3").Value
Sheets("Sheet1").Range("A" & SPOT2) = "=Now()"

End If

If Target.Address = "$L$3" Then
SPOT2 = Sheets("Sheet1").Cells(Rows.Count, "D").End(xlUp).Row + 1
Sheets("Sheet1").Range("D" & SPOT2).Value = 
Sheets("Sheet1").Range("L3").Value
Sheets("Sheet1").Range("A" & SPOT2) = "=Now()"

End If

If Target.Address = "$N$3" Then
Spot3 = Sheets("Sheet1").Cells(Rows.Count, "F").End(xlUp).Row + 1
Sheets("Sheet1").Range("F" & Spot3).Value = 
Sheets("Sheet1").Range("N3").Value
Sheets("Sheet1").Range("A" & Spot3) = "=Now()"

End If

End Sub

任何帮助表示赞赏。谢谢你。

标签: excelvbabyval

解决方案


推荐阅读