簡體   English   中英

VBA ::檢查從一個數組到另一個數組的值

[英]VBA:: checking values from one array to another

我試圖編寫一個VBA代碼,交叉檢查一個數組中的所有值與另一個(X與Y),並將值復制到一個新的數組(如果它是重復的)(FinalResults)。 到目前為止,我有以下代碼,並將非常感謝如何正確編寫它的一些指導。

Function lnArray(X as Variant, Y as Variant) As Variant
Dim counter1 As Integer
Dim data As Integer
Dim FinalResults() As Variant

For counter1 = 1 To Max
    For Each data In X
        If data.Value = Y.Value Then
            counter1 = counter1 + 1
            ReDim Preserve FinalResults(counter1)
            FinalResults(counter1) = data.Value
        End If
    Next data
Next counter1
End Function

當我查看代碼時,我看到的第一件事是, Max既未聲明也未初始化。 即使我假設沒有設置Option Explicit ,這個for-next循環也會從1運行到0,這意味着根本沒有循環。 我猜那不是你的意圖嗎?

其次,您的FinalResult數組在此函數中聲明為本地,因此不能將任何類型的結果值返回給調用函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM