使用byref键入不匹配

时间:2015-01-22 18:42:51

标签: excel vba excel-vba byref listobject

以下代码创建编译时错误消息“type mismatch”:

Private Sub Example  
    JustAdd(Sheet1.ListObjects("Table6"))
End Sub

Public Sub JustAdd(ByRef tableN As ListObject)  
   tableN.ListRows.Add
End Sub

也尝试过:

Private Sub Example  
    Dim tmp As ListObject
    Set tmp = Sheet1.ListObjects("Table6")
    JustAdd(tmp)
End Sub

Public Sub JustAdd(ByRef tableN As ListObject)  
   tableN.ListRows.Add
End Sub

此外:

Private Sub Example  
    Dim tmp As ListObject
    tmp = Sheet1.ListObjects("Table6")
    JustAdd(tmp)
End Sub

Public Sub JustAdd(ByRef tableN As ListObject)  
   tableN.ListRows.Add
End Sub

只需要在正确的方向上快速轻推即可使JustAdd子程序正常工作

1 个答案:

答案 0 :(得分:0)

我只尝试了你的第一个例子,但我相信它们中的任何一个都应该适用于这种轻微的修改。

Call JustAdd(Sheet1.ListObjects("Table6"))

EDIT¹:好的,也许不是第三个。

EDIT²:有关详情,请访问:Calling Sub and Function Procedures(适用于:Office 2013 | VBA)