你可能曾经做过很多漂亮有趣的Excel文档 , 但我敢打赌你还希望为这些文档再添加些更酷的效果画龙点睛一下 。 在本文中我将为你介绍一些关于Excel宏的小窍门 , 希望能助你一臂之力 。
首先在Excel中键入ALT+F11打开VBA编辑器;在“插入”菜单中 , 选择“用户窗体”;在窗口编辑栏里拖住对话框的右下角 , 把窗体拉大;最后的大小就将是咱们自定义的启动画面的大小了 。
接下来 , 将“工具箱”里那个大大的“A”字图标拖拽到你的窗体上;鼠标点住出现的文本框的一角 , 将它拉大 , 将框内文字替换为之后想要显示的标题内容即可 。 如果此时VBA编辑器里并没有显示控件属性栏 , 请按F4将其调出 , 这样就可以通过属性栏中的字体一项更改标题字体 。 这里默认的字体是宋体 , 你也可以点击它右边画着“…”的小方框 , 在弹出的对话框中重新设置 。 本文例子里采用的字体是Arial Black Regular , 72点 。 接着将属性“TextAlign”一栏调整为“fmTextAlignCenter” , 选择属性“ForeColor” “按钮文本” “调色板” , 在其中选择你喜欢的标题颜色 。
![关于Excel宏的小窍门图文攻略教程](http://img.zhejianglong.com/220418/0A3193F2-0.jpg)
文章插图
这里需要注意一件事 , 一个Label文本框内只能有一种字体;所以如果还想在弹出框中建立副标题 , 就还需要在窗体中再添加一个Label文本框才行 。 添加完填好文字 , 设置方法同之前那个Label完全相同 。
下面我们要为弹出的这个对话框添加背景颜色:首先用鼠标在窗体内没有其他控件的地方点一下 , 在属性栏选择“BackColor” “调色板” , 选择你中意的颜色即可 。
![关于Excel宏的小窍门图文攻略教程](http://img.zhejianglong.com/220418/0A3191b8-1.jpg)
文章插图
你这时可能也注意到了窗体的左上角显示着UserForm1 。 这肯定不是我们希望在它弹出时显示的东西 。 我们需要在属性栏内修改它 。 首先将最上面“名称”一栏更改为“Intro” , 然后选择“Caption” , 将后面的“UserForm1”更改为你喜欢的文字即可(本例中使用的是Intro) 。
![关于Excel宏的小窍门图文攻略教程](http://img.zhejianglong.com/220418/0A3192W6-2.jpg)
文章插图
再添加一个Label , 这个Label里面我们可以使用与前一个不同的字体 。
接下来的界面设计阶段只需要我们摆一摆几个Label的位置即可 。 然后双击窗体(也就是刚才那个UserForm1) , 在弹出的代码编辑器里面 , 选择右上角下拉菜单中的“Initialize”;在代码窗口内“Private Sub UserForm_Initialize()”和“End Sub”中间添加如下代码:
Appliation.Ontime Now + TimeValue(“00:00:04”),“ClearForm”
这个宏可以用来控制标题对话框显示时间 。 在这个例子里 , 我将其设置为4秒钟 。 当然你也可以将00:00:04改成任何你想让启动画面停留的时间 。
![关于Excel宏的小窍门图文攻略教程](http://img.zhejianglong.com/220418/0A31a0T-3.jpg)
文章插图
选择VBA插入菜单中的“模块” 。 并在弹出的代码编辑框内填入下面代码:
Sub ClearForm()
Unload Intro
End Sub
这段代码中的ClearForm函数在对话框显示4秒后卸载掉该窗体 。 代码中的“Intro”就是刚才编辑的窗体名称(还记得之前咱们已经将窗体名称更改为“Intro”了吗?) 。
最后在工程资源管理器那里点开“ThisWorkBook”;如果你的VBA没有显示这个管理器 , 可以用CTRL+R将它调出;接着在弹出的代码编辑器里面输入:
Private Sub Workbook_Open()
Intro.Show
End Sub
按下ALT+F11返回到原来的Excel工作簿当中;保存文件 。 如果是07版的Excel , 请将文件后缀保存为.xlsm , 这样打开该文件时将会自动运行文件中定义的宏 。 如果你按照前面所述一步步完成 , 下次你再打开这个文件 , 便会见到一个只停留4秒的启动框 。
单元格的巧妙替换
我们假设遥远的地方有个国家 , 这个国家的电话号码分机时常在变 , 而你又是那个维护电话黄页的小职员 。 如果让你老老实实地一个个去将所有号码改正过来 , 你肯定会叫苦不迭 。 好在咱们现在有了Excel , 巧妙运用它自带的一些函数 , 可以方便地帮你解决掉这个问题 。
首先我们假设所有开头为0191局的电话都将改为0307局 。 先设置A2 , B2的单元格的显示格式 , 让其可以显示出数值最前面的0 。 在A2中输入“0191234567” , 在B2中输入“=SUBSTITUTE
2,191,307)”
这样B2格便会显示“0307234567” 。 这里的SUBSTITUE函数包含三个参数 , 分别是:需要做替换的字符串 , 要被替换的部分 , 和用来替换的部分 。
推荐阅读
- Excel2007新知-条件格式中的新规则详解介绍
- 如何在excel中以代号-完成自动跳转您要知道知识
- 与众不同-让Excel表格完成录音与回放2020攻略资讯
- Excel在视图中隐藏或显示页眉、页脚和页边距新发布的哦
- Excel中怎么打印大幅面拼接图文图文攻略666
- 在Excel中标注公式所涉及的单元格涨知识
- 巧用Excel公式-计算个人所得税让您百战百胜
- Excel自动从身份证中提取生日和性别热门推荐
- Excel电子表格排序的实用方法猜你喜欢
- Excel公式自动实现同分同名次排序让您无可匹敌