马琳(Marlene)是一位老师,她的学生们喜欢单词搜索。她发现制作它们非常耗时,但是学生们似乎在使用它们时会更好地记住课程资料。马琳(Marlene)想知道是否有某种方法可以用字母A到Z来自动填充一系列单元格。这样,她可以使用该功能用字母填充单词搜索的正方形,然后再将其中一些字母替换为实际要搜索的单词。

Excel中的自动填充工具具有一些将自动填充的标准序列,例如日期和数字序列。但是,AutoFill的非常强大的部分是您可以创建自定义列表,该工具使用的自定义列表与内置序列一样容易。为了手动创建自定义列表,您可以按照以下步骤操作:

。从工具菜单中选择选项。 Excel将显示“选项”对话框。

。确保选择了“自定义列表”选项卡。 (请参见图1。)

。在“列表条目”框中,输入字母表中的每个字母,每行一个字母。 (在您输入的每个字母后按Enter。)

。单击添加。

现在,您已经创建了自定义列表,并且可以关闭任何打开的对话框。要使用自定义列表,只需键入一个或两个您要用来开始序列的字母,选择这些单元格,然后使用“自动填充”手柄将要填充的单元格拖到尽可能多的位置。

还有一种创建自定义列表的方法可能会更容易一些,以防万一您不想在对话框中键入26个字母。相反,如果您已经在26个单元格中包含字母,只需选择这些单元格并按照以下步骤操作:

。从工具菜单中选择选项。 Excel将显示“选项”对话框。

。确保选择了“自定义列表”选项卡。您选择的单元格范围应显示在“从单元格导入列表”框中。

。单击导入。

现在,您可以关闭对话框并根据需要使用自定义列表。

当然,使用自定义列表有一个缺点,尤其是在创建单词搜索时:添加到空白方块中的字母始终处于可预测的顺序,这会使查找实际单词比您想要的要容易一些。为了使难题更具挑战性,最好用随机字母填充非单词方块。

一种获取随机字母的简单方法是使用以下公式:

=CHAR(RANDBETWEEN(65,90))

该公式有效,因为RANDBETWEEN函数返回提供的两个边界值之间的随机数值。在这种情况下,它将返回65到90之间的值,分别是字母A和Z的ASCII值。然后使用CHAR函数将这个随机数字值转换为实际字母。

RANDBETWEEN函数是Analysis ToolPak的一部分,Analysis ToolPak是许多人已在Excel中安装的加载项。 (选择“工具|加载项以查看是否已安装。”)如果您不想启用该加载项,则可以依赖更基本的公式,例如:

=CHAR((65+(90-65)*RAND()))

CHAR函数应该看起来很熟悉。唯一的区别是使用RAND函数而不是RANDBETWEEN来生成随机值。

如果您创建了许多单词搜索难题,则可能需要使用宏来用随机字母填充整个单元格区域。

可以通过多种方式将这样的宏组合在一起。以下是特别灵活的一种。它可以与预选范围(运行宏时选择的范围)一起使用,也可以在运行宏后选择一个范围。

Sub AlphaFill()

Dim Cell, CellChars     Dim Default, Prompt, Title     Dim rangeSelected As Range     Dim UpperCase As Boolean

Title = "AlphaFill Cell Selection"

Default = Selection.Address     Prompt = vbCrLf _       & "Use mouse in conjunction with " _       & "SHIFT and CTRL keys to" & vbCrLf _       & "click and drag or type in name(s) " _       & "of cell(s) to AlphaFill" & vbCrLf & vbCrLf _       & "Currently selected cell(s): "

& Selection.Address

On Error Resume Next     Set rangeSelected = InputBox(Prompt, Title, _       Default, Type:=8)

If rangeSelected Is Nothing Then Exit Sub

UpperCase = True     Randomize     For Each Cell In rangeSelected         CellChars = Chr(64 + Int((Rnd * 26) + 1))

If Not UpperCase Then CellChars = LCase(CellChars)

Cell.Value = CellChars     Next End Sub

按照编写的宏代码,将大写字母插入您指定的任何范围。如果要改用小写字母,则只需将UpperCase变量设置为False而不是True。

注意:

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

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

本技巧(3109)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: