我试图在Excel中使用VBA编写自动零件编号生成器。部件号码格式如下:“XXXXX-XX”。前五位是序列号,后两位表示修订级别。Excel VBA - 生成零件编号
当一个新零件号被拉出时,修订级别总是从“01”开始。例如:“12345-01”。预先存在的号码从“A2”开始列在“A”列中。我希望宏查看整个“A”列并拆分“XXXXX-XX”格式,并只查看前5位数字。然后,它将确定该列中的最高值,并自动对该值+1,以创建我的下一个零件编号。
我,所以我在第一次尝试如下完全新的VBA: 我声明范围1的范围,所以它看起来在整个“A”柱,仅前5位:
Range1 = Microsoft.VisualBasic.Left("A2:A", 5)
如果我没有记错,那么LEFT函数会以文本格式返回数字。那么使用函数“Val”将文本转换回数字格式是否正确? MaxValue被声明为一个整数以在列“A”中存储最大值。
MaxValue = Application.WorksheetFunction.Max(Val(Range1))
我似乎得到了第一行代码的运行时错误424,还是有更好的方法来做到这一点?任何帮助将不胜感激!
在此先感谢。干杯,
'Microsoft.VisualBasic.Left'看起来像VB.NET语法 - 你可以用'Left',或者更好的,'左$' – ThunderFrame