是否有可能在两个不同的工作表中的两个单元格之间建立双向连接?

是否有可能在两个不同的工作表中的两个单元格之间建立双向连接?

我想连接两个 Excel 表之间的两个单元格,并且如果两个单元格中的任意一个单元格中都输入了数据,则更新这两个单元格。

  • 工作表 1 中的单元格 A4。
  • 工作表 2 中的单元格 B7。

假设在工作表 1 中的单元格 A4 中输入了 100,则工作表 2 中的 B7 应该更新为 100。

如果工作表 2 中的单元格 B7 为 80,则工作表 1 中的单元格 A4 也应该是 80。

我正在使用 Excel 2013 和 2016两个版本。

答案1

如果您想要在单元格或单元格区域、工作表甚至工作簿之间建立动态链接以进行双向数据输入,那么 VBA 是唯一的解决方案。

您需要在两个表中使用以下 VBA 代码:

怎么运行的:

  • 按下Alt+F11 或右键单击工作表电视背景。
  • 从弹出菜单中单击“查看代码”。
  • 在 VB 编辑器中复制并粘贴相应表格。
  • 将工作簿另存为acro 已启用。

在工作表 1 中:

Private Sub Worksheet_change(ByVal Target As Range)

If Not Intersect(Target, Range("A4")) Is Nothing Then
   If Target = Range("A4") Then
      Sheets("Sheet2").Range("B7").Value = Target.Value
   End If
End If

End Sub

在工作表 2 中:

Private Sub Worksheet_change(ByVal Target As Range)

If Not Intersect(Target, Range("B7")) Is Nothing Then
  If Target = Range("B7") Then
    If Sheets("Sheet1").Range("A4").Value <> Target.Value Then
      Sheets("Sheet1").Range("A4").Value = Target.Value
    End If
  End If
End If

End Sub

注意:

  • 如果两个单元格中的值不相似,则 Sheet 2 中的代码将更新 Sheet 1。
  • 如果你不需要这个,只需删除 If 语句行。

相关内容