Excel vba类的函数

Excel vba类的函数,excel,vba,function,class,Excel,Vba,Function,Class,我正在构建一个类,该类有一组字典来存储一组列数据。根据参数,字典的打印方式略有不同。我在类中创建了函数来将数据打印到另一张表中。 这是上课时间 Sub Export() 'Finding next available cell With ActiveSheet LastRow = .Cells(.Rows.Count, "A").End(xlUp).row End With nextrow = LastRow + 1 For i = 1 To Me.BatchNo.Count

我正在构建一个类,该类有一组字典来存储一组列数据。根据参数,字典的打印方式略有不同。我在类中创建了函数来将数据打印到另一张表中。 这是上课时间

Sub Export()
'Finding next available cell
With ActiveSheet
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).row
End With
nextrow = LastRow + 1

For i = 1 To Me.BatchNo.Count

    If Me.Location(i) <> "A_REF   " Or Me.Location(i) <> "B_REF   " Then
        Me.NotRef(i,nextrow) 'Syntax Error HERE!!!
    Else
        Me.IsRef(i,nextrow)  'Syntax Error HERE!!!

nextrow = nextrow + 1
Next i

End Sub
子导出()
'查找下一个可用单元格
使用ActiveSheet
LastRow=.Cells(.Rows.Count,“A”).End(xlUp).row
以
nextrow=LastRow+1
对于我=1。批次编号
如果Me.Location(i)“A_REF”或Me.Location(i)“B_REF”,则
Me.NotRef(i,nextrow)'这里的语法错误!!!
其他的
Me.IsRef(i,nextrow)'这里的语法错误!!!
nextrow=nextrow+1
接下来我
端接头
下面是函数调用

函数NotRef(i为整数,nextrow为整数)

函数IsRef(i为整数,nextrow为整数)


所有函数都会打印保存的数据,但调用它们时会出现“语法错误”。我打错电话了吗?谢谢您的帮助。

我对VBA有些生疏,但我相信您不能调用函数c/c++/c#style,它允许您忽略返回值。VBA函数返回一个值,因此必须提供一个变量来接收该值。或者将函数更改为Subs,在这种情况下,如果我没记错的话,您需要删除括号

更正您可以忽略VBA中的返回值,方法是将函数视为子函数,删除括号。(感谢@Sam)


HTH

是非的混合体。如果您没有收到退货,请删除括号value@Sam谢谢你的更正。这是新的行为吗?我很久没有写过任何VBANope了。从那以后就是这样beginning@Sam我已相应地编辑了我的答案。谢谢你的帮助。如果你的函数没有返回任何值,那么你应该把它们改为Sub。