更新自动更改其他工作表的主工作表
我有一个中央工作表,包含几个表中的所有数据。 比方说,我有表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