gpt4 book ai didi

VBA编译错误

转载 作者:行者123 更新时间:2023-12-02 11:43:46 25 4
gpt4 key购买 nike

我对 VBA 的经验很少,上次使用它是几年前的事了。这是我的 VBA:

Function MacIDGen(total, current)
If total - current = 0 Then
current -1
Else
current 1
End If
Macro1 (current)
End Function

Sub Macro1(cur)
Sheets("Donations").Cells(I2).Value = cur & "Test"
End Sub

它是它自己的模块,根本没有其他代码。

所以我有一个正在调用 MacIDGen() 的单元格。它正在传递 MacID 两个其他单元格值。每当执行时都会出现错误,“编译错误:预期的子、函数或属性”并突出显示函数方法签名。

我不知道为什么它会在这里提出这个问题,我猜是因为我要么错过了一个主要步骤,要么错过了关于如何在该上下文中无法使用函数或其他类似问题的内容。

编辑作为一点额外信息,我正在 Excel 中创建这些电子表格,作为随机数据生成表导入到 drupal 站点中。我遇到了一个不使用循环就无法解决的问题(我也无法对迭代次数进行硬编码),而公式则无法解决这个问题。

最佳答案

关于编译错误,您得到这个错误是因为您忘记在current -1current中使用=符号1

就像我提到的,有很多错误,但主要错误是您不能使用 UDF 写入另一个单元格。如果您将该函数分解为函数或子函数,这并不重要。您根本无法写入任何其他单元格。您将在使用该函数的单元格中获得一个#Value

当您想要返回某些内容时,可以使用函数。现在,由于您将其用作 UDF(用户定义函数),因此它应该返回一些内容并返回到该特定单元格。

如果您要写入调用该函数的同一单元格,请将代码更改为

Function MacIDGen(total, current)     
If total - current = 0 Then
current = -1
Else
current = 1
End If

MacIDGen = current & "Test"
End Function

关于VBA编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20954967/

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