2017-07-25 54 views
0

我正在构建一个包含一堆存储大量列数据的字典的类。根据参数的不同,字典的打印方式有所不同。我在课堂上创建了一些功能将数据打印到另一张纸上。 这里是类一个类的函数vba

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 

而且这里的函数调用

Function NotRef(i As Integer, nextrow As Integer)

Function IsRef(i As Integer, nextrow As Integer)

所有功能都将其打印保存的数据,但我得到一个“语法错误”时我给他们打电话。我说他们错了吗?谢谢您的帮助。

+0

如果你的函数没有返回任何值,那么你应该改为使用它们。 –

回答

0

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

更正您可以忽略VBA中的返回值,方法是将该函数当作Sub来处理,方法是删除括号。 (感谢@Sam)

HTH

+0

混合对与错。如果您没有收到返回值,请删除括号 – Sam

+0

@Sam感谢您的纠正。这是新的行为吗?这是从我写任何VBA –

+0

没有。从一开始就一直如此 – Sam