首先,在Excel中键入ALT F11,打开VBA编辑器;在“插入”菜单中,选择“用户表单”;在窗口编辑栏中拖动对话框的右下角可以放大窗体;最终尺寸将是自定义闪屏的尺寸。
接下来,将“工具箱”中的大“A”图标拖到您的表单上;在出现的文本框的一个角上单击鼠标,放大它,并用您希望以后显示的标题内容替换框中的文本。如果此时VBA编辑器中没有显示控件属性栏,请按F4将其调出,这样您就可以通过属性栏中的字体项来更改标题字体。这里默认字体是宋体。也可以点击其右侧标有“…”的小框,在弹出的对话框中重新设置。本例中使用的字体是Arial Black Regular,72磅。然后,将属性“TextAlign”列调整为“fmTextAlignCenter Center”,选择属性“ForeColor”、“按钮文本”和“调色板”,选择自己喜欢的标题颜色。
这里需要注意的一点是,一个标签文本框中只能有一种字体;所以如果要在弹出框中创建副标题,就需要在表单中再添加一个标签文本框。添加填充文字后,设置方法与前一个标签完全相同。
下面介绍如何给弹出的对话框添加背景色:先用鼠标点击表单中没有其他控件的地方,然后在属性栏中选择“背景色”和“调色板”,再选择自己喜欢的颜色。
您可能已经注意到,UserForm1显示在表单的左上角。这绝对不是我们想弹出来展示的东西。我们需要在属性列中修改它。首先,将“名称”的顶栏改为“简介”,然后选择“标题”,将下面的“用户表单1”改为您喜欢的单词(本例中使用的是简介)。
添加另一个标签,其中我们可以使用不同于前一个的字体。
在接下来的界面设计阶段,我们只需要放置几个标签位置。然后双击表单(也就是刚才的UserForm1),在弹出的代码编辑器中,从右上角的下拉菜单中选择“初始化”;在代码窗口中的“Private Sub UserForm_Initialize()”和“End Sub”之间添加以下代码:
申请。Ontime Now TimeValue("00:00:04 ")," ClearForm "
这个宏可以用来控制标题对话框的显示时间。在本例中,将其设置为4秒。当然,您也可以将00:00:04更改为您希望启动屏幕停留的任何时间。
在VBA插入菜单中选择“模块”。并在弹出的代码编辑框中填写以下代码:
子ClearForm()
卸载简介
末端接头
此代码中的ClearForm函数在对话框显示4秒钟后卸载表单。代码中的“Intro”是刚刚编辑的表单的名称(还记得我们之前将表单的名称改为“Intro”吗?)。
最后,在项目浏览器中点击“this workbook”;如果你的VBA没有显示这个管理器,可以用CTRL R调出;然后在弹出的代码编辑器中输入:
私有子工作簿_Open()
介绍。显示
末端接头
按ALT F11返回到原始Excel工作簿;保存文件。如果是Excel版,请将文件后缀另存为。xlsm,这样当您打开文件时,文件中定义的宏将自动运行。如果你一步一步的按照上面说的做,下次你打开这个文件的时候,你会看到一个只持续4秒的启动框。
细胞的巧妙替换
我们假设在很远的地方有一个国家。这个国家的电话分机是不断变化的,你就是维护黄页的办事员。如果让你老老实实把所有数字一个一个纠正过来,你肯定会抱怨。幸运的是,现在我们有了Excel,巧妙地利用它本身的一些功能,可以方便地帮你解决这个问题。
首先,我们假设所有以0191开头的电话都将改为0307。首先,设置单元格A2和B2的显示格式,使它们可以显示数值的第一个0。在A2中输入“0191234567”,在B2输入“=替换”。
2,191,307)"
然后“0307234567”将显示在B2。这里的SUBSTITUE函数包含三个参数:要替换的字符串、要替换的部分和要替换的部分。
Excel还支持各种搜索和替换功能。如果我们需要将TelNum一栏中电话号码的0191部分替换为0307,只需要在旁边的空单元格中键入“=IF(LEFT(telnum,4)=”0191”,代入(TelNum“0191”,“0307”),“)”。
单击单元格,向下拖动单元格的右下角,向下复制公式。这样,只要下一列包含字符串0191,就会被更改为0307并显示在新列中,原来的单元格就会被清空。
如果子字符串在字符串中出现多次,还可以指定SUBSTITUE函数要替换的子字符串。例如,如果A2此时显示“中国北京2000”,请在B2键入“=substitute (A2,“0”,“8”,3)”。
将展示B2“中国北京2008”。这个例子与第一个例子基本相同,唯一的区别是第四个参数“3”。这里,我们使用这个参数来指示要替换哪个重复的字符。
Excel中也提供了类似的替换功能。这里有两个例子可以帮助你熟悉它。
首先,假设我们在A2: 5123 4567 8901 2345中键入一串信用卡号码。我们希望在B2显示这一串数字,但是为了安全起见,我们需要用*替换最后四位数字。然后就可以使用替换功能了,这个功能可以派上用场。只要在B2输入“=REPLACE(A2,12,4,“* * *”),在B2就会显示“512345678901 * * *”。这里,函数中的第二个参数给出了字符替换的起始位,第三个参数给出了替换的次数,最后一个参数给出了替换的内容。如果想屏蔽的不是后四位而是前四位,可以在B2填写“=REPLACE(A2,1,12,“* * * * * * * * * *)”,B2会显示“* * * * * * * * 2345”。
如果只想从字符串中提取几个比特,也可以使用下面的函数。这里有几个例子可以帮助你熟悉它们。假设伦敦W1T7RJ显示在A2中。如果在B2输入“=left (A2,6)”,单元格将显示城市名称;如果在C2键入“=RIGHT(A2,7)”,单元格中将显示以下邮政编码。
如果你从网上粘贴的字符串中出现了几个多余的空格。您可以使用TRIM功能删除这些多余的空格。假设这样一个字符串放在A2中,在B2输入“TRIM(A2)”可以得到编写修改后的字符串的开销。