我正在尝试在工作簿的两个不同工作表上创建一对单元格,这样您进入一个单元格的任何内容都会被复制到另一个单元格中。如果这是一种方式,那显然是微不足道的。我想这样做,以便链接是双向的。这将涉及VBA脚本,我在这方面是一个新手。有没有人对如何学习我需要知道的东西有一些指示?我有谷歌搜索,但这只是产生了一些没有解释的代码示例,我不想输入我不理解的代码。
答案 0 :(得分:1)
假设你有Sheet1和Sheet2,他们的名字就是那个。
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
对Sheet1中任何单元格的更改将触发上面的代码。
已更改的单元格称为“目标”范围。
您可以使用Target.Address和Target.Value轻松识别目标范围的地址和内容。然后,您可以使用此地址和值来更新Sheet2。
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Sheet2").Range(Target.Address).Value = Target.Value
End Sub
要将数据从Sheet2复制到Sheet1,只需重复上述步骤,但在Sheet2。
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Sheet1").Range(Target.Address).Value = Target.Value
End Sub
但是,如果更改为Sheet1将触发对Sheet2的更改,而Sheet2将触发对Sheet1的更改,则更改将无限期地发生,这是没有意义的。因此,只有当Sheet1和Sheet2上的值不同时,我们才需要添加一些代码来应用更改。如果值相同,则无需应用更改。因此,Sheet2的代码应如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
If ThisWorkbook.Sheets("Sheet1").Range(Target.Address).Value <> Target.Value Then
ThisWorkbook.Sheets("Sheet1").Range(Target.Address).Value = Target.Value
End If
End Sub
答案 1 :(得分:0)
您可以使用一对事件宏来完成此操作。以下是您可以调整的示例: