2017-03-06 5 views
1

다른 워크 시트의 다른 범위에서 값을 찾아야합니다. 나는 "X"로 범위를 정의하고, 내가 예를 참조 R1C1 배합에서 사용하고 싶은 :, 나는이 작동하지만, 너무 느린 application.vlookup을 수행하는 것을 시도했다r1c1 공식을 통해 사전 정의 된 범위 참조

Set x = extwbk.Worksheets("ark1").Range("A1:d400") 
With twb.Sheets(filename) 
     .Range("k2:k" & n).FormulaR1C1 = "=VLOOKUP(RC[-10],x,4,False)" 
     .Range("l2:l" & n).FormulaR1C1 = "=VLOOKUP(RC[-11],x,4,False)" 

을 내가 범위, exmaple 조회 테이블에 따라 유연해야로서 나는, 범위 X를 사용해야합니다 회 4000 행을 반복 에 있습니다

Set x = extwbk.Worksheets("ark1").Range("A1:d" & rows) 

어떤 제안 전 범위의 X를 참조 할 수있는 방법 내 조회 기능에? 감사합니다.

+0

두 열에 똑같은 수식을 넣는 것은 오타라고 가정합니다. – Rory

답변

1

당신은 Set x = extwbk.Worksheets("ark1").Range("A1:d400")x 범위를 설정하고, 당신이 R1C1 유형의 수식에서 사용하려면, 당신은 x.Address(False, False, xlR1C1)하여 x 범위에서 주소를 얻을 수 있습니다.

아래의 2 개 라인을 사용해보십시오 : 외부 통합 문서를 참조하는 경우 다음 4 번째 매개 변수를 추가하고, 또한 절대 범위를 볼 필요가, @Rory 의견 및 PO 다음

.Range("K2:K" & n).FormulaR1C1 = "=VLOOKUP(RC[-10]," & x.Address(False, False, xlR1C1) & ",4,False)" 
.Range("L2:L" & n).FormulaR1C1 = "=VLOOKUP(RC[-11]," & x.Address(False, False, xlR1C1) & ",4,False)" 

:

.Range("K2:K" & n).FormulaR1C1 = "=VLOOKUP(RC[-10]," & x.Address(True, True, xlR1C1, True) & ",4,False)" 
.Range("L2:L" & n).FormulaR1C1 = "=VLOOKUP(RC[-11]," & x.Address(True, True, xlR1C1, True) & ",4,False)" 
+1

범위가 다른 통합 문서에있는 것처럼 보이기 때문에 'External : = True' 인수도 필요합니다. – Rory

+0

고마워요! 예, 그것은 내가 시트 : (셀 a3) "= Vlookup (A3; N402; 4; FALSE)에서 다음과 같은 현재 내게주는 외부 = 사실을 사용해야 할 것 같아요" – KMO

+0

@ KMO 알려주세요 4 번째 매개 변수와 함께 작동합니다. –