再添加一个Label,这个Label里面我们可以使用与前一个不同的字体。
接下来的界面设计阶段只需要我们摆一摆几个Label的位置即可。然后双击窗体(也就是刚才那个UserForm1),在弹出的代码编辑器里面,选择右上角下拉菜单中的“Initialize”;在代码窗口内“Private Sub UserForm_Initialize()”和“End Sub”中间添加如下代码:
Appliation.Ontime Now + TimeValue(“00:00:04”),“ClearForm”
这个宏可以用来控制标题对话框显示时间。在这个例子里,我将其设置为4秒钟。当然你也可以将00:00:04改成任何你想让启动画面停留的时间。
选择VBA插入菜单中的“模块”。并在弹出的代码编辑框内填入下面代码:
Sub ClearForm()
Unload Intro
End Sub
这段代码中的ClearForm函数在对话框显示4秒后卸载掉该窗体。代码中的“Intro”就是刚才编辑的窗体名称(还记得之前咱们已经将窗体名称更改为“Intro”了吗?)。
{zh1}在工程资源管理器那里点开“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函数包含三个参数,分别是:需要做替换的字符串,要被替换的部分,和用来替换的部分。
Excel还支持多种搜索替换功能。假如我们需要将TelNum这个栏里面的电话号码的0191部分都替换成0307,我们只需在旁边空列的单元格中键入“=IF(LEFT(telnum,4)=“0191”,SUBSTITUE(telnum“0191”,“0307”),“ ”)”。
点击单元格,向下拖拽这个单元格的右下角将公式向下复制。这样只要旁边的列中包含0191这个字符串,在新的这一列中就会将它改为0307并显示出来,同时将原来那个单元格清空。
如果你的字符串中多次出现某个子字符串,你还可以为SUBSTITUE函数指定替换其中的哪一个子字符串。我们举个例子,假如A2此时显示“中国北京2000”,在B2中键入“=SUBSTITUE(A2,“0”,“8”,3)”。
这样B2中将会显示“中国北京2008”。这个例子同{dy}个例子大部分均相同,{wy}不同在于后面第四个参数“3”。我们这里正是用这个参数来指示要替换第几个重复出现的字符。