我的代码不断出现 Sub 或 Function not Defined 编译错误。
我想要完成的是通过单元格中的输入获取两个项目描述符,然后为该项目生成一个唯一的字母数字序列号,然后将其输出到屏幕上并将其保存在另一张纸上(诚然,这甚至没有开始工作)。
但是,当我尝试使 SerialGenerator 函数正常工作时,我不断遇到此编译错误的问题。
我试图调用该函数以将序列号作为字符串返回,并将其放入名为“serial”的变量中,以便我可以将其输出到屏幕上,然后将其存储在另一张纸上。
Public Sub GenerateSerialNumber_Click()
Dim itemname As String
Dim description As String
Dim serial As String
itemname = Range("c3").Value
description = Range("e3").Value
serial = SerialGenerator(finResult)
Range("c21").Value = itemname
Range("E21").Value = description
MsgBox "Serial Number Generated."
End Sub
Function SerialGenerator(finResult)
Dim result As String
Dim myReturn As String
myReturn = Text(RandBetween(0, 9999), "0000") & CHAR(RandBetween(65, 90)) & CHAR(RandBetween(65, 90))
finResult = myReturn
End Function
- 你把公式和VBA混为一谈了。
Text
, RandBetween
, and Char
是公式。它们的 VBA 等效项是Format
, WorksheetFunction.RandBetween
, and Chr
.
- 更符合逻辑
SerialGenerator
return一个值。
Public Function SerialGenerator() As String
With WorksheetFunction
SerialGenerator = Format$(.RandBetween(0, 9999), "0000") & _
Chr$(.RandBetween(65, 90)) & _
Chr$(.RandBetween(65, 90))
End With
End Function
然后就打电话...
serial = SerialGenerator
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)