【发布时间】:2021-12-07 19:09:24
【问题描述】:
对于我们公司,我们有一个包含多个工作表的 Excel 工作簿。
我们有一个主表,所有更改都将在其中进行。
其他工作表是已将单元格链接到母版的母版的分支。
我知道有一种方法可以实现 worksheet_change 以便在手动更改单元格时更改单元格的内部颜色,并且我知道如何实现。
但是,有没有办法在工作簿中的所有非手动更改的单元格中实现相同的颜色更改?
让我试着举一个例子,这样你就可以更好地理解我想要做什么。
假设工作表 1 中的单元格 A1 包含单词“Hello”。
我希望工作表 2 中的单元格 B2 具有工作表 1 中的单元格 A1 的任何内容...因此工作表 2 中的单元格 B1 也将包含单词“Hello”。
现在,假设我想将工作表 1 中的单元格 A1 更改为“再见”,我希望工作表 1 中的单元格 A1 以浅绿色突出显示。然后,我希望表 2 中的单元格 B2 说“再见”(因为它已链接到表 1 中的单元格 A1,所以它已经这样做了),但更重要的是,以相同的浅绿色突出显示单元格 b1。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Target.Interior.Color = RGB(216, 228, 188)
End Sub
这个^^是我用来改变主表上的单元格颜色的。它确实有效,但仅适用于该工作表。
我只是不知道如何告诉 vba,“嘿,我希望你填充工作簿中所有已更改单元格的背景。”
【问题讨论】:
-
我认为您正在寻找类似this
-
事件是
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range),但在您的情况下没有用。您是否希望仅在例如Sheet1然后在所有(或列表)工作表中,同一单元格旁边的单元格应该是绿色的,下一列和下一行中的单元格应该是值?。 -
@VBasic2008 我想在 master 中进行更改时触发突出显示。我还希望突出显示在其中一个分支表中更改的单元格中触发。
-
@Warcupine 我不知道如何理解这一点,因为我对 VBA 很陌生。如果是 Python 或任何其他编码语言,我可能会更了解它。