在Excel中编辑单元格时,您可以访问几个格式化工具栏按钮,这些按钮可以使单元格的格式化更加容易。例如,您可以使用粗体或斜体工具更改单元格中所选文本的这两个属性。在某些时候,您可能需要创建其他工具栏按钮来处理其他格式,例如应用上标或下标。

但是,Excel不允许您创建自己的格式设置工具,并且在编辑单元格时无法访问它们。这是因为在进行编辑时,Excel“停用”了所有用户定义的宏。

您剩下的是通过Format |格式化单元格内容。单元格,或通过按Ctrl + 1直接显示“设置单元格格式”对话框。

但是,可以使用一种偷偷摸摸的方法来创建自己的格式化工具。这涉及使用用户表单和VBA来创建自己的格式“对话框”。 (我知道,这实际上不是对话框,而是表单。)创建您自己的用户表单并不十分困难,但是对于宏而言,这并不是出于胆小。请按照以下步骤创建自己的表单:

。按Ctrl + F11以显示VBA编辑器。

。在VBA编辑器中,从“插入”菜单中选择“用户表单”。将显示一个新的空白用户表单以及表单工具箱。

。使用表单工具箱中的控件,在表单顶部添加三个CommandButton控件。

。更改左CommandButton控件的属性,以便其名称为btnSuper,其标题为上标。

。更改中央CommandButton控件的属性,使其名称为btnSub,其标题为下标。

。更改右侧CommandButton控件的属性,使其名称为btnNormal,其标题为Normal。

。在三个按钮下,添加一个TextBox控件。您无需更改此控件的任何属性。

。在TextBox控件下,添加第四个CommandButton控件。

。更改最后一个CommandButton控件的属性,使其名称为btnExit,其标题为Exit。

而已;您已经创建了用户表单,并准备将宏代码与刚放置的控件相关联。选择用户窗体后,按F7键显示该窗体的“代码”窗口。该窗口可能包含一两行自动生成的代码。将其替换为以下代码:

Private Sub UserForm_Activate()

TextBox1.Text = ActiveCell.Formula End Sub
Private Sub btnSuper_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = True     End If End Sub
Private Sub btnSub_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Subscript = True     End If End Sub Private Sub btnExit_Click()

Unload UserForm1 End Sub
Private Sub btnNormal_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = False         ActiveCell.Characters(intStart, intLength).Font.Subscript = False     End If End Sub

关闭用户窗体的“代码”窗口,然后关闭窗体窗口本身。现在,您需要创建一个非常短的宏,以显示实际的用户表单。该宏的创建与其他Excel宏相同,并且应如下所示:

Sub DoForm()

UserForm1.Show End Sub

现在,您可以关闭“ VBA编辑器”窗口。为了使用该宏,请选择要编辑的单元格,然后运行DoForm宏。 Excel将显示您的用户窗体,其中包含所选单元格中的文本。

然后,您可以在用户表单中选择文本,并使用按钮(上标,下标和常规)更改实际单元格内容的格式。宏影响单元格的内容,而不影响用户表单的内容。因此,能够同时在屏幕上看到选定的单元格和用户表单是有帮助的。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(1945)适用于Microsoft Excel 97、2000、2002和2003。