首页 > 解决方案 > 每次更新这些单元格的值时,同时更改多个工作表中的单元格值

问题描述

这是我在此的头一篇博文。我有一个包含工作表的工作簿,每个工作表都有我们一个位置的图表。每个图表都允许用户设置所需的星期几 (DOW)。此外,还有一个托管所有数据的主表,它还允许用户选择特定的 DOW 数据。

我有五个图表和主表,每个表都有一个 DOW 单元格。我正在尝试做的是每次用户更改一个 DOW 单元格时同时更新所有其他 5 个 DOW 单元格,而不管它在哪个工作表上进行了更改。我希望这是可能的。

我使用以下代码为每个工作表创建了 Private Subs:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A5")) Is Nothing Then

Call LOC1DOW

End If

End Sub

它调用的函数是:

Sub LOC1DOW()

Application.ScreenUpdating = False

Worksheets("LOC1").Range("A5").Copy
Worksheets("LOC2").Range("A5").PasteSpecial Paste:=xlPasteValues
Worksheets("LOC3").Range("A5").PasteSpecial Paste:=xlPasteValues
Worksheets("LOC4").Range("A5").PasteSpecial Paste:=xlPasteValues
Worksheets("LOC5").Range("A5").PasteSpecial Paste:=xlPasteValues
Worksheets("LOC6").Range("A5").PasteSpecial Paste:=xlPasteValues
Worksheets("P1").Range("A5").Select

Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

我在每个工作表中都放了一个修改版本并进行了测试,当然它使我的文件崩溃了,因为它是一个我没有及时识别的闭环。我知道我对这个问题采取了一种非常基本的方法,但我对 VBA 的了解还不够,无法理解如何实现这一点。非常感谢任何和所有帮助!

标签: excelvba

解决方案


推荐阅读