2013-06-28 78 views
4

我有一個函數可以在Excel工作表中顯示數組的內容。我的函數的頭看起來是這樣的:將不同類型的數組傳遞給UDF函數

Public Sub afficher_signal(ByRef signal() As Integer, ByVal nb_ligne As Integer)

的probleme是,有時我想用它來顯示一個整數數組,有時,它是一個雙陣列我想顯示。有沒有辦法通過可以接受任何類型數組的東西來改變 ?

非常感謝!

+0

只需'ByRef signal()'(不要'as ...')應該這樣做。 –

+0

沒有工作.. :( – djosimd

+2

對不起 - 刪除括號 –

回答

1

替換

Public Sub afficher_signal(ByRef signal() As Integer, ByVal nb_ligne As Integer) 

Public Sub afficher_signal(ByRef signal, ByVal nb_ligne As Integer) 

Public Sub afficher_signal(ByRef signal as Variant, ByVal nb_ligne As Integer) 


的下面演示了一個樣品使用的afficher_signal

Public Sub Main() 
    Dim arr As Variant 
    arr = Array(1, "yo", 3, 10 Mod 2, 5.25) 
    afficher_signal arr, 0 
    afficher_signal2 arr, 0 
End Sub 

Public Sub afficher_signal(ByRef signal As Variant, ByVal nb_ligne As Integer) 
    Dim i As Long 
    For i = LBound(signal) To UBound(signal) 
     Debug.Print signal(i) 
    Next i 
End Sub 

Public Sub afficher_signal2(ByRef signal, ByVal nb_ligne As Integer) 
    Dim i As Long 
    For i = LBound(signal) To UBound(signal) 
     Debug.Print signal(i) 
    Next i 
End Sub