【问题标题】:VBA Code to populate an MI spreadsheet with updates from two different sheets in the same Excel workbookVBA 代码使用同一 Excel 工作簿中两个不同工作表的更新填充 MI 电子表格
【发布时间】:2015-03-04 09:40:51
【问题描述】:

我有三个 Excel 工作表:工作表 1、工作表 2、工作表 3 都具有相同的标准数据(A 到 E 列是所有工作表中的标准数据) F 到 JF 列是日历日/月。不同之处在于对表一的任何更新是日历中与 A 列中的名称相对应的单元格中的数字,而对表 2 的更新只是适用单元格的突出显示(更新的单元格与表 1 中的相同单元格或反之亦然——我认为这是有道理的)。

表 3 需要针对表 1 和表 2 的每次更新进行更新。

我希望使用 VBA 对工作表 3 进行此更新。

【问题讨论】:

  • 需要澄清,除其他外:表 3 包含什么?表 1 和表 2 的结合?猫的动图?您想在工作表 3 上更新什么?
  • 工作表 3 与工作表 1 和工作表 2 具有相同的数据(没有联合,所有三个工作表都有相同的确切数据,但更新将在工作表 1 中以数字表示,在工作表 2 中,一个简单的突出显示将是已应用 - 但在第 1 页上更新的单元格不能与第 2 页相同),并且对第 1 和第 2 表的每次更新也应反映在第 3 页上。

标签: vba excel auto-update


【解决方案1】:

将此添加到与 Sheet 1 关联的模块中。 代码会将修改后的范围原样复制到 Sheet 3

Private Sub Worksheet_Change(ByVal Target As Range)
fr = Target.Row
lr = fr - 1 + Target.Rows.Count
fc = Target.Column
lc = fc - 1 + Target.Columns.Count

For i = fr To lr
    For j = fc To lc
        Sheets("Sheet 3").Cells(i, j).Value2 = Sheets("Sheet 1").Cells(i, j).Value2
    Next
Next

End Sub

【讨论】:

  • 要突出显示工作表 2 的内容,请在 Sheets("Sheet 3").Cells(i, j).Value2 = Sheets("Sheet 1").Cells(i, j).Value2 之后使用 Sheets("Sheet 2").Cells(i, j).Interior.ColorIndex = 37
  • 谢谢,但是当我更新表 1 或 2 时,表 3 中没有任何更改
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多