使用字母自动填充(Microsoft Excel)
马琳(Marlene)是一位老师,她的学生们喜欢单词搜索。她发现制作它们非常耗时,但是学生们似乎在使用它们时会更好地记住课程资料。马琳(Marlene)想知道是否有某种方法可以用字母A到Z来自动填充一系列单元格。这样,她可以使用该功能用字母填充单词搜索的正方形,然后再将其中一些字母替换为实际要搜索的单词。
Excel中的自动填充工具具有一些将自动填充的标准序列,例如日期和数字序列。但是,AutoFill的非常强大的部分是您可以创建自定义列表,该工具使用的自定义列表与内置序列一样容易。为了手动创建自定义列表,您可以按照以下步骤操作:
。显示“ Excel选项”对话框。 (在Excel 2007中,单击Office按钮,然后单击Excel选项。在Excel 2010和Excel2013中,显示功能区的“文件”选项卡,然后单击“选项”。)
。如果您使用的是Excel 2007,请确保在对话框的左侧选择了“流行”。如果您使用的是Excel 2010或Excel 2013,请单击屏幕左侧的“高级”,然后向下滚动到“常规”区域。
。单击编辑自定义列表。 Excel将显示“自定义列表”对话框,并隐藏“ Excel选项”对话框。 (请参见图1。)
。从对话框左侧的“自定义列表”列表中选择“新列表”选项。
。在“列表条目”框中,输入字母表中的每个字母,每行一个字母。 (在您输入的每个字母后按Enter。)
。完成后,单击添加按钮。
。单击确定完成。
要使用新创建的自定义列表,只需键入一个或两个您要用来开始序列的字母,选择这些单元格,然后使用“自动填充”手柄将要填充的单元格拖到尽可能多的位置即可。
还有一种创建自定义列表的方法可能会更容易一些,以防万一您不想在对话框中键入26个字母。相反,如果您已经在26个单元格中包含字母,请按照下列步骤操作:
。选择包含字母的单元格。
。显示“ Excel选项”对话框。 (在Excel 2007中,单击Office按钮,然后单击Excel选项。在Excel 2010和Excel2013中,显示功能区的“文件”选项卡,然后单击“选项”。)
。如果您使用的是Excel 2007,请确保在对话框的左侧选择了“流行”。如果您使用的是Excel 2010或Excel 2013,请单击屏幕左侧的“高级”,然后向下滚动到“常规”区域。
。单击编辑自定义列表。 Excel将显示“自定义列表”对话框,并隐藏“ Excel选项”对话框。您还应该注意,在“导入”按钮的左侧显示了在步骤1中选择的单元格范围。
。单击导入按钮。 Excel将所选单元格的内容添加为自定义列表。
。单击确定。
当然,使用自定义列表有一个缺点,尤其是在创建单词搜索时:添加到空白方块中的字母始终处于可预测的顺序,这会使查找实际单词比您想要的要容易一些。为了使难题更具挑战性,最好用随机字母填充非单词方块。
一种获取随机字母的简单方法是使用以下公式:
=CHAR(RANDBETWEEN(65,90))
该公式有效,因为RANDBETWEEN函数返回提供的两个边界值之间的随机数值。在这种情况下,它将返回65到90之间的值,分别是字母A和Z的ASCII值。然后使用CHAR函数将这个随机数字值转换为实际字母。
如果您创建了许多单词搜索难题,则可能需要使用宏来用随机字母填充整个单元格区域。
可以通过多种方式将这样的宏组合在一起。以下是特别灵活的一种。它可以与预选范围(运行宏时选择的范围)一起使用,也可以在运行宏后选择一个范围。
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培训的来源。
本技巧(7803)适用于Microsoft Excel 2007、2010和2013。您可以在以下旧版Excel菜单界面中找到本技巧的版本: