vb表格宏命令
- 格式:docx
- 大小:35.34 KB
- 文档页数:14
1 14 竭诚为您提供优质文档/双击可除
vb表格宏命令
篇一:利用宏命令锁定excel公式 利用宏命令锁定excel公式 为了防止excel里面做好的公式误被他人修改,通常大家会通过设置“保护工作表”的方式来锁定,但锁定后别人点击就会弹出对话框,很麻烦。本文介绍一个通过宏命令来锁定公式的方式,别人根本无法点击锁定后的公式单元格,这样就显得很高大上:) 一、录制宏 打开excel20xx,在视图里面找到宏图标(20xx版本在工具菜单里寻找),如果没有找到,请打开文件菜单,底部进“选项”,点最下“信任中心”,进入“信任中心设置”,点击“宏设置”,启用宏,然后回到excel就能找到宏图标了。 点击“录制宏” 选择保存在个人宏工作簿,确定
2 14 然后点击右下角的 二、编辑Vb宏命令 按alt+F11,进入Vb工程界面蓝色方块,停止录制 选择模块1,双击进入编辑模式 将代码栏中的所有内容全部删除 然后把以下代码复制进去(分割线中间) ------------分割线-------------------- sub保护公式() activesheet.unprotect("12345678")解除对工作表的保护 cells.select选中整个表格 selection.locked=False解除锁定
selection.specialcells(xlcelltypeFormulas,23).select选中包含公式的单元格 selection.locked=true添加锁定 selection.Formulahidden=true添加隐藏 activesheet.protect("12345678")保护工作表,并设置密码 activesheet.enableselection=xlunlockedcells让锁定单元格不能选中endsub ---------------分割线-----------------
3 14 然后,结果如下图,请核对 点击文件菜单,选择“关闭并返回excel” 三、执行宏 点击“查看宏” 点击“执行”,就可以执行了(提示:无内容的空文档执行时会出错,别担心,打开一个有公式的文档,就可以顺利执行了) 四、建立快捷方式 点击“自定义快速访问工具栏” 从下来菜单中选择宏,这时可以看到保护公式的宏,点“添加” 在最顶上就可以看到宏了,以后打开文档后直接点击该按钮,就会自动执行保护公式的宏了。 温馨提示:代码栏中的“12345678”是保护文档的密码,大家可以自由设置密码,可以替换。其余的代码请不要改变。 如果不想保护公式了,可以通过“取消保护工作表”来实现,密码就是你设置的密码(若未改变则为12345678),然后公式就可以自由修改了。 本文为原创,大家可以自由使用,但谢绝转载。 作者:有风吹过 20xx.4.16 篇二:excel常用宏编程的代码学习
4 14 excel常用宏编程的代码学习 用过Vb的人都应该知道如何声明变量,在Vba中声明变量和Vb中是完全一样的!使用dim语句 dimaasinteger声明a为整型变量 dima声明a为变体变量 dimaasstring声明a为字符串变量 dimaascurrency,bascurrency,cascurrency声明a,b,c为货币变量...... 声明变量可以是:byte、boolean、integer、long、currency、single、double、decimal(当前不支持)、date、string(只限变长字符串)、string*length(定长字符串)、object、Variant、用户定义类型或对象类型。 强制声明变量 optionexplicit 说明:该语句必在任何过程之前出现在模块中。 声明常数 用来代替文字值。 const 常数的默认状态是private。 constmy=456 声明public常数。 publicconstmystring="help"
5 14 声明privateinteger常数。 privateconstmyintasinteger=5 在同一行里声明多个常数。 constmystr="hello",mydoubleasdouble=3.4567 选择当前单元格所在区域 在excel97中,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。 submy_select selection.currentRegion.select endsub 返回当前单元格中数据删除前后空格后的值 submy_trim msgboxtrim(activecell.Value) endsub 单元格位移 submy_offset activecell.offset(0,1).select当前单元格向左移动一格 activecell.offset(0,-1).select当前单元格向右移动一格
6 14 activecell.offset(1,0).select当前单元格向下移动一格 activecell.offset(-1,0).select当前单元格向上移动一格 endsub 如果上述程序产生错误那是因为单元格不能移动,为了解除上述错误,我们可以往submy_offset之下加一段代码onerrorresumenext 注意以下代码都不再添加sub“代码名称”和endsub请自己添加! 给当前单元格赋值 activecell.Value="你好!!!" 给指定单元格赋值 例如:A1单元格内容设为"HELLO" Range("a1").value="hello" 又如:你现在的工作簿在sheet1上,你要往sheet2的A1单元格中插入"HELLO" 1. sheets("sheet2").select range("a1").value="hello" 或 2.
7 14 sheets("sheet1").Range("a1").Value="hello" 说明: 1.sheet2被选中,然后在将“hello"赋到a1单元格中。 2.sheet2不必被选中,即可“hello"赋到sheet2的a1单元格中。 隐藏工作表 隐藏sheet1这张工作表 sheets("sheet1").Visible=False 显示sheet1这张工作表 sheets("sheet1").Visible=true 打印预览 有时候我们想把所有的excel中的sheet都打印预览,请使用该段代码,它将在你现有的工作簿中循环,直到最后一个工作簿结束循环预览。 dimmyasworksheet Foreachmyinworksheets my.printpreview nextmy 得到当前单元格的地址 msgboxactivecell.address 得到当前日期及时间 msgboxdate删除所有文字、批注、格式
8 14 返回选定区域的行数 msgboxselection.Rows.count 返回选定区域的列数 msgboxselection.columns.count 返回选定区域的地址 selection.address 忽略所有的错误 oneRRoRResumenext 遇错跳转 onerrorgotoerr_handle 中间的其他代码 err_handle:标签 跳转后的代码 删除一个文件 kill"c:\1.txt" 定制自己的状态栏 application.statusbar="现在时刻:"&time 恢复自己的状态栏 application.statusbar=false 用代码执行一个宏 application.Runmacro:="text" 滚动窗口到a1的位置
9 14 activewindow.scrollRow=1 activewindow.scrollcolumn=1 定制系统日期 dimmydate,myday mydate=#12/12/69# myday=day(mydate) 返回当天的时间 dimmydate,myyear mydate=date myyear=year(mydate) msgboxmyyear inputbox xx=inputbox("enternumberofmonthstoadd") 得到一个文件名 dimkkasstring
kk=application.getopenFilename("excel(*.xls),*.xls",title:="提示:请打开一个excel文件:") 篇三:excel宏入门教程 excel宏入门教程 在介绍学习Vba之前,应该花几分钟录制一个宏。 新术语:“宏”,指一系列excel能够执行的Vba语句。