史蒂文(Steven)正在测试某些软件,他需要在程序中添加一堆“假”名称。他希望通过Namezzz对这些名称进行模式化,例如Nameaaa,Nameaab,Nameaac等。这将需要创建17,576个名称(26 x 26 x 26)。他想知道是否有一种简单的方法可以在Excel中生成所有这些名称。

这种重复性的任务只需要一个宏。 (它们非常适合执行您不想手动执行的无聊,沉闷,重复的任务。)清单1显示了一个简单的宏,可以完成所需的繁琐工作。

Listing 1. CreateNames宏。

Sub CreateNames()

Dim i As Integer     Dim x As Integer     Dim y As Integer     Dim z As Integer

i = 1     For x = 97 To 122         For y = 97 To 122           For z = 97 To 122               Cells(i, 1) = "Name" & Chr(x) _                 & Chr(y) & Chr(z)

i = i + 1             Next         Next     Next End Sub

宏使用三个变量(x,y和z)充当“计数器”,以控制将哪个字母添加到填充到单元格中的“名称”上。请注意,For …​ Next循环的范围是97到122,这是小写的a到z的ASCII码。

如果由于某种原因不想使用宏,请在空白工作表的单元格A1中键入以下公式:

="Name" & CHAR((ROW()-1)/676+97)&CHAR(MOD( (ROW()-1)/26,26)+97)&CHAR(MOD(ROW()-1,26)+97)

这是一个公式,导致显示“ Nameaaa”。

将公式复制到第17,576行,您将得到假名称。

注意:

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

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

本技巧(12129)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Generating_Unique_Sequential_Names [生成唯一的,顺序的名称]。