多个单元格之间以及跨多个工作表的双向连接

多个单元格之间以及跨多个工作表的双向连接

我希望在两个工作表之间建立双向连接,这样我只需要在一张工作表上更改条目,另一张工作表上也会更改条​​目,反之亦然。

我在这里找到了一个很好的解释(我刚刚开始使用 VBA,所以很高兴它不需要我做太多改变就能发挥作用!): 两个细胞之间可以建立双向连接吗

它显示了如何使用一个单元格对另一个单元格执行此操作,但是如何使用几个不同的单元格执行此操作?例如:

工作表 1 单元格 A2 = 工作表 2 单元格 B3(反之亦然)
工作表 1 单元格 A4 = 工作表 2 单元格 B5(反之亦然)
工作表 1 单元格 A6 = 工作表 2 单元格 B7(反之亦然)

我应用此功能的单元格也包含数据验证,但无论如何,在一组单元格上,上面链接中的代码似乎仍能正常工作。

编辑:
有人在这里建议了代码(虽然评论现在似乎已经消失了)我添加了我的特定单元格/工作表,但我不确定我是否正确填充了它,因为它给了我一条错误消息:

运行时错误 1004,方法“对象范围”工作表失败

为工作表 1 添加的带有我的特定单元格等的代码:

Private Sub Worksheet_change(ByVal Target1 As Range)

If Not Intersect(Target1, Range("F9:F12")) Is Nothing Then  
      Worksheets("sheet 2").Range("F" & Target.Row + 1).Value = Target1.Value  
End If

End Sub`

对于工作表 2:

Private Sub Worksheet_change(ByVal Target2 As Range)

If Not Intersect(Target2, Range("F6:F9")) Is Nothing Then  
      Sheets("sheet 1").Range("F" & Target2.Row - 1).Value = Target2.Value  
End If

End Sub

有关具体细节的更多信息,以防这可能导致问题。

我想要:
工作表 1 F9 与工作表 2 F6 匹配,
工作表 1 F12 与工作表 2 F9 匹配

它们都包含镜像相应单元格的数据验证列表。

它们与其他单元格合并:
工作表 1 - F9:H10
工作表 1 - F12:H13
工作表 2 - F6:G7
工作表 2 - F9:G10

答案1

在模块“sheet 1”中输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)
  On Error GoTo eh
  If Not Intersect(Target, Me.Range("F9,F12")) Is Nothing Then
    Application.EnableEvents = False
    ThisWorkbook.Sheets("sheet 2").Range("F" & Target.Row - 3).Value = Target.Value
eh:
    Application.EnableEvents = True
    If Err <> 0 Then MsgBox Err & " " & Err.Description, , "Error in Worksheet_Change event, sheet 1"
  End If
End Sub

在模块“sheet 2”中:

Private Sub Worksheet_Change(ByVal Target As Range)
  On Error GoTo eh
  If Not Intersect(Target, Me.Range("F6,F9")) Is Nothing Then
    Application.EnableEvents = False
    ThisWorkbook.Sheets("sheet 1").Range("F" & Target.Row + 3).Value = Target.Value
eh:
    Application.EnableEvents = True
    If Err <> 0 Then MsgBox Err & " " & Err.Description, , "Error in Worksheet_Change event, sheet 2"
  End If
End Sub

相关内容