2014-06-12 3 views
1

행렬의 역함수를 반환하는 함수가 있어야합니다.VBA의 행렬 반전을위한 함수

나는이 삶의 잘못을 알아낼 수 없다. 나는 그것이 단순한 실수라는 것을 알고있다.

워크 시트에서이 함수를 실행하려고하면 #VALUE!가 표시됩니다. 세포에서.

Function getInverse(mat) 

    Dim matrixA As Variant, inverse As Variant 

    matrixA = mat 
    inverse = Worksheet.Function.MInverse(mat) 

getInverse = inverse 
+0

당신은 정말 당신이 이미 코드에서 수동으로 함수를 호출하려고, 당신은 볼 것이다 다음, 워크 시트에서 사용할 수있는'MINVERSE' 기능 주위에 무의미한 래퍼가 필요한 경우 무엇을 잘못된 것입니다. – GSerg

+0

@GSerg, 나는 그것을 호출하는 하위에서 직접 minverse를 사용해 보았지만 배열에 할당 할 수 없다는 컴파일 오류가 발생했습니다 – GordonUnderwood

답변

0

배열이 사각형입니까? 당신은 함수가 반환 값 어떤 오류 볼 수 있습니다 여기에

enter image description here

: MINVERSE는 square arrays 작동, 아래의 사진을 참조 http://www.excelfunctions.net/Excel-Minverse-Function.html

VALUE를! - 발생하거나 경우 :

- the supplied array contains a blank or a non-numeric value or 
- the supplied array does not have equal numbers of rows and columns 
+0

답장을 보내 주셔서 감사합니다. 예, 1x1 배열입니다 – GordonUnderwood

+0

항상 1이면 1 배열에 의해 1/value를 사용하십시오. #value를 얻는 유일한 이유! 1 by 1 배열의 오류는 위에서 게시 한 값이 비어 있거나 숫자가 아닌 것입니다. –