自动创build唯一的ID

我仍然是一个新手,所以如果我问一个愚蠢的问题,但这是我目前的问题。 我开始在Excel中使用用户表单为数据input创build大型归档集合中的数据库。 简单的一点是,帮助识别集合中的每个项目,我想给每个项目自己的ID。 更困难的是,我希望ID还包括一个前缀,以清楚它是什么样的项目。 例如后面的​​前缀;

Description | Prefix ----------------------- Newsletter | NEW Minutes | Min Photograph | Pho 

而增加的挑战是让ID在它自己的前缀下是连续的(它们不是通过组合在一起),所以ID的列表可以这样结束;

 NEW1 NEW2 PHO1 PHO2 PHO3 MIN1 NEW3 MIN2 

如果你可以build议任何事情来帮助我实现这一点,我将非常感激。 提前致谢。

这假定一个带有三个选项的Listbox的表单,一个Button来产生下一个loggingID和一个Textbox来显示它。

它假定当激活表单时,现有的ID位于ActiveSheet的A列中:

 Private Sub UserForm_Activate() With Me.ListBox1 .AddItem "PHO" .AddItem "NEW" .AddItem "MIN" End With End Sub Private Sub CommandButton1_Click() Dim ws As Excel.Worksheet Dim Category As String Set ws = ActiveSheet Category = Me.ListBox1.Value Me.TextBox1 = Me.ListBox1 & Application.Evaluate("=MAX(IFERROR(SUBSTITUTE('" & ws.Name & "'!A1:A10," & """" & Category & """" & ","""")*1,0))") + 1 End Sub 

它使用Application.Evaluate,它将数组公式视为input到单元格中。 如果公式被input到单元格中,并且A1:A10中有值,并且您在列表框中select了“NEW”,则它将如下所示:

在这里输入图像说明

结果如下:

在这里输入图像说明

在数据库中,最好让你的ID代码完全没有意义。 也就是说,不要将“项目types”作为您唯一ID的一部分。 它应该是一个属于自己的领域。 身份证号码应该只是一个唯一的标识符。