Excel/VBA 配列は Windows コンピューターと Mac コンピューターで動作が異なりますか?

Excel/VBA 配列は Windows コンピューターと Mac コンピューターで動作が異なりますか?

私は最近、同僚のためにマクロを作成しました。Excel スプレッドシートのデータを約 75000x58 サイズの 2D 配列にコピーし、各行を実行して関連データを抽出するマクロです。

このマクロは私の Windows コンピューターで問題なく動作し、2 秒以内に完了します。

このマクロは同僚の Mac でも動作しますが、2000 ~ 4000 秒とかなり時間がかかります。

私は彼女のものよりもスペックが低い他の Windows コンピューターでマクロを試してみましたが、マクロは数秒で完了しました。

Mac の方が 1000 倍以上時間がかかるのは何か理由があるのでしょうか?

これがマクロの主要部分です。mechArray と activityArray はそれぞれ 4 と 10 の要素を持つ小さな配列で、outArray は約 120x10x2 です。

'Transfer Data
For i = 1 To UBound(inArray)
    If inArray(i, 1) >= d1 And inArray(i, 1) <= d2 _
        And UCase(inArray(i, 17)) = site Then

        x = DateDiff("d", d1, inArray(i, 1)) + 1

        y = isIn(mechArray, inArray(i, 48))
        z = isIn(activityArray, inArray(i, 49))

        If y > -1 And z > -1 Then
            outArray(x, z, 1) = outArray(x, z, 1) + inArray(i, 5)
            outArray(x, z, 2) = outArray(x, z, 2) & inArray(i, 8) & "|"   
        End If
    End If
Next i
Erase inArray

これは関数「isIn」です。

Function isIn(arr As Variant, val As Variant) As Single
    Dim i

    For i = LBound(arr) To UBound(arr)
        If arr(i) = val Then
            isIn = i
            Exit Function
        End If
    Next i
    isIn = -1
End Function

関連情報