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

관련 정보