2017-07-25 53 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