当任一单元格发生更改时,另一个单元格也会发生更新,从而形成镜像单元格

当任一单元格发生更改时,另一个单元格也会发生更新,从而形成镜像单元格

Gary 的学生之前回答过这个问题,而且对于每张表只有 1 个单元格的情况,这种方法效果很好。如果我想镜像多个单元格,我该怎么办?我尝试了以下方法,但没有效果。我没有收到错误,但什么也没发生。顺便说一句,我是 VBA 新手。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r1 As Range, r2 As Range
Set r1 = Range("C3:D3")
Set r2 = Sheets("Flight Planning").Range("K1:K2")
If Intersect(Target, r1) Is Nothing Then Exit Sub
Application.EnableEvents = False
    r2.Value = r1.Value
Application.EnableEvents = True

Dim r3 As Range, r4 As Range
Set r3 = Range("E22")
Set r4 = Sheets("Flight Planning").Range("B4")
If Intersect(Target, r3) Is Nothing Then Exit Sub
Application.EnableEvents = False
    r4.Value = r3.Value
Application.EnableEvents = True

Dim r5 As Range, r6 As Range
Set r5 = Range("E24")
Set r6 = Sheets("Flight Planning").Range("C4:D4")
If Intersect(Target, r5) Is Nothing Then Exit Sub
Application.EnableEvents = False
    r6.Value = r5.Value
Application.EnableEvents = True
End Sub

谢谢

答案1

我给了你一些建议,让你思考。但我给你提供这个解决方案,暂时的,这样你就可以可能的修复。请让我知道这是否有助于您的逻辑。

如果我下面提供的临时解决方案解决了您正在处理的问题,请将框标记为已接受解决方案,以便知道此问题现已关闭。

Private Sub Worksheet_Change(ByVal 目标作为范围)

暗淡 r1 作为范围,r2 作为范围
设置 r1 = Range("C3:D3")
设置 r2 = Sheets("飞行计划").Range("K1:K2")
如果 Intersect(Target, r1) 为 Nothing 则退出子程序
  MsgBox "(1) 无" '请告诉我
别的
  应用程序.启用事件 = False
    r2.值 = r1.值
  应用程序.启用事件 = True
万一

Dim r3 作为范围,r4 作为范围
设置 r3 = Range("E22")
设置 r4 = Sheets("飞行计划").Range("B4")
如果 Intersect(Target, r3) 为 Nothing 则退出子程序
  MsgBox "(2) Nothing" '请告诉我
别的
  应用程序.启用事件 = False
      r4.值 = r3.值
  应用程序.启用事件 = True
万一

Dim r5 作为范围,r6 作为范围
设置 r5 = Range("E24")
设置 r6 = Sheets("飞行计划").Range("C4:D4")
如果 Intersect(Target, r5) 为 Nothing 则退出子程序
  MsgBox "(3) Nothing" '请告知我或留空
别的
  应用程序.启用事件 = False
      r6.值 = r5.值
  应用程序.启用事件 = True
万一


子目录结束

单个“ ' ”表示注释,它会注释掉右侧行的其余部分,并被忽略。它在 Excel 环境中应该会变成绿色。您可以使用单引号完全注释掉 Msgbox。

相关内容