gpt4 book ai didi

excel - VBA - 未定义子或函数

转载 作者:行者123 更新时间:2023-12-04 22:20:19 27 4
gpt4 key购买 nike

我的代码不断收到 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 , 和 Char是公式。它们的 VBA 等效项是 Format , WorksheetFunction.RandBetween , 和 Chr .
  • SerialGenerator 更符合逻辑返回一个值。

  • 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

    关于excel - VBA - 未定义子或函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64372384/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com