2017-09-21 3 views
2

Excel VBA에서 인덱스 일치 수식을 사용하여 데이터베이스가없는 도구의 부품 번호와 설명을 찾습니다. 그것은 condintions에 색인 일치 공식이었다. 먼저 특정 배열에서 기계의 도구 유형에 대한 일치를 찾아 특정 배열의 구성에 일치시키는 것보다 우선하십시오.Excel - VBA 작업으로 인덱스 일치 수식 변경

내 문제는 내가 수식을 사용하여 특정 범위를 작성했기 때문에 내가 코드를 변경할 필요가 없도록 데이터베이스에서 새로운 행을 추가 할 수 있도록 flexable 할 수 있기를 바라며 조회 방식으로 변경하고 싶습니다. databse는 테이블 이름 "Illuminators"입니다.

이전에 사용한 조건과 함께 수식을 사용했는데 셀 참조가있는 것을 볼 수 있습니다. 배열 아래의 데이터베이스 테이블에 새 도구를 추가하면 거기에서 찾을 수 없습니다.

enter image description here

enter image description here

I가 감사합니다

Selection.FormulaArray = "=INDEX(DB!R2C1:R21C7,MATCH(1,(DB_Illumiators!R2C1:R21C1=RC[1])*(DB_Illumiators!R2C2:R21C2=RC[2]),0),4)" 

는 I 루프 메인 시트의 수식을 사용하여 I 번째 그림에서, 데이타베이스 워크 시트로 사용 도움을주는 사람들에게

라파엘

+2

변경 'R2C1 : R21C7'에'C1 : C7' 또는 전체 열을 조회하지 않으려면 (느려질 수 있습니다)는 데이터가 넘어 가지 않을 것 알고 매우 큰 무언가로 변경 (예 : - 'R2C1 : R5000C7' –

답변

5

변경 R21C7, R21C1R21C2-INDEX(DB!C7, MATCH("zzz", DB!C1)), INDEX(DB!C1, MATCH("zzz", DB!C1))INDEX(DB!C2, MATCH("zzz", DB!C1)). 이것들은 DB! A : A의 마지막 텍스트 val에 따라 종료 셀을 동적으로 조정합니다.

Selection.FormulaArray = _ 
    "=INDEX(DB!R2C1:INDEX(DB!C7, MATCH(""zzz"", DB!C1)), MATCH(1, (DB_Illumiators!R2C1:INDEX(DB!C1, MATCH(""zzz"", DB!C1))=RC[1])*(DB_Illumiators!R2C2:INDEX(DB!C2, MATCH(""zzz"", DB!C1))=RC[2]), 0), 4)"