设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2993|回复: 2
打印 上一主题 下一主题

[VBA编程/宏] Excel中用自动运行宏提高工作效率

[复制链接]
跳转到指定楼层
1#
发表于 2004-7-25 18:44:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Excel中用自动运行宏提高工作效率

    在日常工作中,我们经常需要在每次打开同一个Excel文件时都进行一些例行的操作,如改变表格的格式、更新报表日期、打印文件、对工作表进行保护或取消保护等等。Excel的自动运行宏“Auto_Open”可在文件打开后立即完成这些例行的操作任务,既快速又准确。

  假设我们在Excel文件的工作表Sheet1中有一个《销售日报表》, 下面我们在这个文件中建立一个Auto_Open宏,让它在文件打开后自动完成下面任务:

  1. 取消工作表保护;

  2. 把“当日销售”列里的数据值复制到“上日销售”一列;

  3. 将日期增加一天;

  4. 恢复工作表保护。

  具体做法如下:

  1. 在“工具”菜单上选择“宏”子菜单,打开“宏”对话框,在“宏名”一栏里键入“Auto_Open”?再点击下面的“新建”钮,进入宏编辑状态。注意不要把宏名字输错了,否则宏不会自动执行。

  2. 在宏编辑状态下,把下面VBA ?Visual Basic for Application? 语句输入到Auto_Open下面: Sub Auto_Open?? Sheets?"Sheet1"?.Activate ‘取消工作表保护 ActiveSheet.Unprotect ’将当日销售值拷贝到上日销售一栏 x = MsgBox?"把当日销售值拷贝到上日销售栏吗?"? vbYesNo? If x = vbYes Then Range?"B5?B8"?.Copy Range?"C5"?.Select Selection.PasteSpecial Paste?=xlValues Application.CutCopyMode = False End If ’将日期增加一天 x = MsgBox?"把日期增加一天吗?"? vbYesNo? If x = vbYes Then Range?"C2"? = Range?"C2"? + 1 End If ’重新保护工作表 ActiveSheet.Protect End Sub 将文件保存并关闭。

  重新打开此文件,体验一下Auto_Open宏是如何为你工作的吧。 如果你想用Auto_Open完成其它的操作而又不知道如何用VBA语句直接建立宏,Excel的录制宏的功能可以帮助你,但是别忘了把所录制的宏取名为Auto_Open。关于录制宏的方法请参阅一般的Excel功能手册。



作者:不详
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2004-8-7 07:00:00 | 只看该作者
good
3#
发表于 2011-6-23 01:33:54 | 只看该作者
谢谢分享,加油,继续
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-14 05:48 , Processed in 0.092721 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表