生成唯一的顺序名称(Microsoft Excel)
史蒂文(Steven)正在测试某些软件,他需要在程序中添加一堆“假”名称。他希望通过Namezzz对这些名称进行模式化,例如Nameaaa,Nameaab,Nameaac等。这将需要创建17,576个名称(26 x 26 x 26)。他想知道是否有一种简单的方法可以在Excel中生成所有这些名称。
这种重复性的任务只需要一个宏。 (它们非常适合执行您不想手动执行的无聊,沉闷,重复的任务。)以下是一个简单的宏,可以完成所需的繁琐工作:
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培训的来源。
本技巧(12128)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下位置找到适用于Excel功能区界面(Excel 2007和更高版本)的本技巧的版本:
链接:/ excelribbon-Generating_Unique_Sequential_Names [生成唯一的,顺序的名称]。