【问题标题】:If cell value changes, copy value to another worksheet如果单元格值发生变化,请将值复制到另一个工作表
【发布时间】:2015-08-12 18:59:23
【问题描述】:

我创建了一个项目管理模板,定期更新项目的状态。

我希望一旦一个单元格的单元格值发生变化,准确的值就会被复制到另一个工作表上的单元格中。

如果原始单元格的单元格值再次更改(由于进一步的项目更新),我希望再次复制该值但低于之前的副本,依此类推。

由于我想自己解决问题,如果您能给我一些关于如何继续或在哪里寻找的提示,我会很高兴。

【问题讨论】:

  • 是否有插件可以做到这一点?

标签: vba excel


【解决方案1】:

您可以使用Worksheet_Change() 事件。例如,如果您要更改的单元格是 A1,请测试 Target 单元格是否匹配。如果是这样,请确定目标工作表上最后使用的行(Sheet2,如下),然后分配值。

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = Range("A1").Address Then

        ' Get the last row on our destination sheet (using Sheet2, col A here)...
        Dim intLastRow As Long
        intLastRow = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row

        ' Add our value to the next row...
        Sheet2.Cells(intLastRow + 1, "A") = Target.Value

    End If

End Sub

【讨论】:

  • 谢谢,我尝试了上面的代码,但在行 intLastRow = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row
  • 你有 Sheet2 吗?
  • 对不起我的错误..我只需将声明“sheet2”更改为使用我的 Excel 版本“Tabelle2”的德语声明..它现在运行完美..非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多