更新自动更改其他工作表的主工作表

我有一个中央工作表,包含几个表中的所有数据。 比方说,我有表A,B,C和D,都在一个中央工作表中。

在其他三个工作表中,我有工作表2中的表B,工作表3中的表C和工作表4中的表D.

我所尝试的是从开发人员选项卡插入一个命令button到主(中央)工作表,然后插入此代码:

Private Sub CommandButton1_Click() Sub copyAOne() Dim ws As Worksheet Dim newValue As Range Set newValue = ActiveSheet.Range("A1") For Each ws In Worksheets ws.Range("A1") = newValue Next ws End Sub 

这是启动你的东西:

 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [tableA]) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub Dim wkb As Workbook Set wkb = Workbooks.Open("C:\Desktop\Test2.xlsm") wkb.Worksheets(1).Cells(Target.Row, Target.Column).Value = Target.Value wkb.Save 'wkb.Close End Sub 

您需要以下内容:

  • 当前Worksheet tableA
  • Test2.xlsm
  • 您需要将代码放在工作表中,而不是在模块中。
  • 也许它不会像预期的那样工作,但主要的想法是这个。
  • 确保在运行该文件之前closures“C:\ Desktop \ Test2.xlsm”。

把代码放在那里: 在这里输入图像说明

一般来说,如果你想用button来做,而不是一个事件,这是你可以使用的东西:

 Option Explicit Public Sub TestMe() Dim wkb As Workbook Set wkb = Workbooks.Open("C:\Users\Desktop\Test2.xlsm") ThisWorkbook.Worksheets(1).Range("A1:D16").Copy wkb.Worksheets(1).Range("A1:D16").PasteSpecial xlPasteValues Application.CutCopyMode = False wkb.Save 'wkb.Close End Sub