检查一个参数是否是一个特定的数组

我有两个数组,我想作为parameter passing给另一个Sub:

Public arr1 As Variant Public arr2 As Variant Sub Main() arr1 = listSheet.Range("E2:G4").Value arr2 = listSheet.Range("H2:J60").Value call mySub(arr1) call mySub(arr2) End sub() 

在“其他”子,我需要检查哪个数组传递,但没有任何下面的选项工作:

 sub mySub(ByRef myArr As Variant) if myArr=arr1 Then 'do actions end if 'and I also tried: if myArr is arr1 then 'do actions end if end sub 

我怎么可以检查这个使用IF语句,或者这是可以以任何其他方式?

你可以传递variables作为范围对象,并使用Istesting。 例如:

 Option Explicit Public q8bAnswerList As Variant Public q9AnswerList As Variant Public r1 As Range, r2 As Range Sub Main() Set r1 = Sheet1.Range("E2:G4") Set r2 = Sheet1.Range("H2:J60") Call mySub(r2) Call mySub(r1) End Sub Sub mySub(ByRef MyR As Range) Dim MyArr As Variant MyArr = MyR If MyR Is r1 Then Debug.Print MyR.Address Stop ElseIf MyR Is r2 Then Debug.Print MyR.Address Stop End If End Sub