魔方网表 让信息化更简单

 找回密码
 注册
查看: 1760|回复: 0

Excel中用自动运行宏提高工作效率  

[复制链接]
lnxxnchzyl 发表于 2009-10-19 09:41:35 | 显示全部楼层 |阅读模式
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功能手册。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-5-5 16:26 , Processed in 0.193886 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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