Excel VBA-未定义子或函数
我的代码中不断出现未定义的子函数或函数编译错误 我试图完成的是通过在一个单元格中输入两个项目描述符,然后为该项目生成一个唯一的字母数字序列号,然后将其输出到屏幕上,并将其保存在另一张纸上(无可否认,这张纸甚至还没有开始工作) 然而,当我试图让我的SerialGenerator函数工作时,我一直遇到这个编译错误的问题 我试图调用函数以字符串形式返回序列号,并将其放入名为“serial”的变量中,以便将其输出到屏幕上,然后将其存储在另一张表上Excel VBA-未定义子或函数,excel,vba,Excel,Vba,我的代码中不断出现未定义的子函数或函数编译错误 我试图完成的是通过在一个单元格中输入两个项目描述符,然后为该项目生成一个唯一的字母数字序列号,然后将其输出到屏幕上,并将其保存在另一张纸上(无可否认,这张纸甚至还没有开始工作) 然而,当我试图让我的SerialGenerator函数工作时,我一直遇到这个编译错误的问题 我试图调用函数以字符串形式返回序列号,并将其放入名为“serial”的变量中,以便将其输出到屏幕上,然后将其存储在另一张表上 Public Sub GenerateSerialNum
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
和randbween
是公式。它们的VBA等价物是Char
,格式
和工作表函数.randbween
Chr
- 让
返回值更符合逻辑SerialGenerator
Public函数SerialGenerator()作为字符串
使用工作表功能
SerialGenerator=格式$(.randthever(0,9999),“0000”)和_
Chr$(.RandBetween(65,90))和_
Chr$(.RandBetween(65,90))
以
端函数
然后打电话给
serial=SerialGenerator
您尚未定义变量finResult,将其传递给serialgenerator函数“这更有意义。”。我认为这些公式和VBA可以一起工作。谢谢你的信息和帮助@DanielHernandez如果这回答了您的问题,请投票/将其标记为已解决: