2012-08-15 2 views
-1

내가 Arr1 및 Arr2worksheetfunction 클래스 오류

Dim arr1() As Variant 
Dim arr2() As Variant 

arr1 and arr2 are initialized in the function. 

Dim result As Double 
result = Application.WorksheetFunction.Correl(arr1, arr2) 

두 배열 의 상관 계수를 얻을 수있는 Correl 방법을 던졌습니다 때 나는, VBA에서이 오류를 얻고의 CORREL 속성을 가져올 수 없습니다 예외

"는 worksheetfunction 클래스의 CORREL 속성을 가져올 수 없습니다"는 이유가 될 수있는 것을

어떤 생각 예외.

편집 :

내가 배열 중 하나가 같은 모든 요소가있는 경우이 문제가 발생 생각합니다. 이 경우 상관 계수는 # DIV0 오류를 발생시킵니다.

감사합니다.

+0

arr1과 arr2에는 무엇이 있습니까? – brettdj

답변

0

배열을 초기화하는 것을 잊었을 것 같습니다.

이 아주 간단한 예를 작동합니다

Public Sub Test() 
    Dim arr1() As Variant 
    Dim arr2() As Variant 
    Dim result As Double 

    arr1() = Array(1, 2, 3, 4) 
    arr2() = Array(1, 2, 3, 4) 

    result = Application.WorksheetFunction.Correl(arr1, arr2) 

    MsgBox ("The result is: " & result) 
End Sub 
+0

No - 'arr1'과'arr2'의 값을 생략하면 게시 된 것과 다른 오류가 발생합니다. – brettdj

+0

-Hmm ... 네 말이 맞아! –

+0

오, 죄송합니다. 코드의 일부분을 붙여 넣는 것을 잊었습니다. 배열이 초기화됩니다. 'arr1'과'arr2' 배열은 함수에 대한 인수입니다. – Kiran

1

키란,이 오류를 방지

두 가지 가능한 솔루션을 ...하지만 데이터를 보는 것이 훨씬 더 도움이 될 것

  1. 한 (또는 둘 다) 변형 배열에 숫자가 아닌 문자열이 포함되어 있음
  2. 배열의 크기가 같지 않음
+0

배열 ('arr1') 중 하나에 모든 값이 1 인 것을 발견했습니다. 그리고'corr'은 # DIV0 오류가 발생했습니다. 생각하기에, 그것이 "워크 시트 기능 클래스의 상관 속성을 얻을 수 없습니다"라고하는 이유입니다. 그게 문제라고 생각하십니까 – Kiran

+0

@kiranchandrashekhar 예 - 그것이 문제입니다. – brettdj