Dzwebs.Net

撰写电脑技术杂文十余年

如何同步更新两个或多个工作薄的内容

Admin | 2009-12-25 22:26:16 | 被阅次数 | 14459

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  如题所示,我们如何同步更新两个工作薄中的Sheet的内容呢?

  本例要讲的例子是:

  比如,我们有两个工作薄,其名称为Book1和Book2,这两个工作薄,放在相同的文件夹下面,即工作薄保存位置一样。

  现在,我们要做的就是,当我们修改Book1中的Sheet1里面的单元格内容是,如何同步更新到Book2中的Sheet1呢?

  要实现这种效果,最好就是使用VBA了,因为此方法通用性强、功能强大,此外,由于管理维护。

  下面我们看一下如何编写此功能的VBA代码吧

  如上图,首先在工作薄Book1中,右键点击Sheet1,在弹出的快捷菜单中选择“查看代码”,之后,会弹出编写代码的VBA窗口。

  一、代码内容

  在VBA代码窗口中,直接输入如下的代码即可:

  Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   Workbooks.Open filename:=ThisWorkbook.path & "\book2.xls"
   Workbooks("Book1.xls").Windows("Book1.xls").Activate
   Workbooks("Book1.xls").Worksheets("Sheet1").Cells.Select
   Selection.Copy

   Workbooks("Book2.xls").Windows("Book2.xls").Activate
   Workbooks("Book2.xls").Worksheets("Sheet1").Cells.Select
   Workbooks("Book2.xls").Worksheets("Sheet1").Paste
   Application.CutCopyMode = False
   Workbooks("Book2.xls").Windows("Book2.xls").Activate
   ActiveWindow.Close
  End Sub

  二、代码解释

  以下内容为代码解释:

  Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)'此代码是事件名,意思是当对工作薄进行保存时,就执行如下的功能代码。

  Workbooks.Open filename:=ThisWorkbook.path & "\book2.xls"'打开Book2.xls
  Workbooks("Book1.xls").Windows("Book1.xls").Activate'让已经打开的Book1窗口处于激活状态
  Workbooks("Book1.xls").Worksheets("Sheet1").Cells.Select'选择Book1中的Sheet1表的所有单元格
  Selection.Copy'将Book1中的Sheet1表的所有被选中单元格的内容复制到剪贴板

  Workbooks("Book2.xls").Windows("Book2.xls").Activate'激活Book2窗口
  Workbooks("Book2.xls").Worksheets("Sheet1").Cells.Select'选择Book2中的Sheet1表的所有单元格
  Workbooks("Book2.xls").Worksheets("Sheet1").Paste'将剪贴板中的内容粘贴到Book2中的Sheet1中
  Application.CutCopyMode = False'
  Workbooks("Book2.xls").Windows("Book2.xls").Activate'激活Book2窗口
  ActiveWindow.Close'关闭Book2工作薄

  三、上述代码的使用说明

  如何使用上述代码呢,非常简单。

  在使用的时候,由于代码是添加在Book1里面的,因此,我们只需要打开Book1,对工作表进行修改,然后,每次修改或最后,点击一次保存操作,这样,已经被修改过的内容,就会自动粘贴到Book2中。

  代码原理:实际上,上述的代码功能,是这样的,采用复制粘贴的办法来更新另外一个没有打开的Book2的内容的。

  当然,这仅仅是实现简单的功能,我们完全可以在上述代码的基础之上,进行扩展,就可以得出非常灵活非常强大的功能了。


该杂文来自: Excel杂文

上一篇:vba实时排序Excel被修改过的数据的代码

下一篇:重点介绍Excel中的照相功能

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计