2013-08-13 4 views
0

나는 두 가지 동적 범위를 rng1 및 rng2라고 부릅니다. 나는 rng1 (예 : A2, A3, A4, A5 등 ...)을 통과하는 각/다음 루프를 가지고 있습니다. 또한 rng2에서 동일한 행 값을 가져올 필요가 있습니다 (예 : T2, T3, T4, T5 등).)하지만 범위가 항상 같아서 표준 오프셋이 작동하지 않습니다 (내가 아는 한).두 동적 범위 오프셋

아이디어가 있으십니까? 내가 범위를 설정하는 방법

는 (헤더를 제외하고 마지막 행을 찾습니다)

lastrowTN = ws.Cells(65536, phcell.Column).End(xlUp).Row 
Set rngtocopyTN = ws.Range(phcell.Offset(1, 0).Address, Cells(lastrowTN, phcell.Column)) 
+0

범위는 헤더를 기반으로 만들어집니다. 내 게시물에 예제를 추가하겠습니다. – Mike

+2

이것은 아직 이해가되지 않지만, 만약 당신이 정교한다면, 나는 해결책이 매우 간단해야한다고 생각합니다 ... –

+0

이 두 범위 사이의 관계를 정의해야합니다. 열 A와 T 사이에는 .Offset (0,19)이 있지만 작동하지 않는다고했습니다. 그래서 도움을 얻을 수있는 규칙을 찾으십시오 ... –

답변

2

그것은 문맥없이 말을 어렵습니다,하지만 난 인터 섹트 방법은 당신이 찾고있는 무엇을 달성 할 수 있다고 생각합니다. 두 범위가 얼마나 가깝거나 멀리 떨어져 있는지에 관계없이 교차로를 찾습니다. 그래서 예를 사용하여 :

[편집] : 나는 (코드뿐만 아니라 것을 보여주기 위해 업데이트되었습니다) rng1 및 rng2 어떤 될 수

Sub tgr() 

    Dim rng1 As Range 
    Dim rng2 As Range 
    Dim LoopCell As Range 

    Set rng1 = Range("A2:A5") 
    Set rng2 = Range("T2:T5") 

    For Each LoopCell In rng1.Cells 
     MsgBox Intersect(LoopCell.EntireRow, rng2.EntireColumn).Address 
     MsgBox Cells(LoopCell.Row, rng2.Column).Address 
    Next LoopCell 

End Sub 

참고이 대안으로 세포의 방법을 사용할 수 있다는 것을 깨달았 그 열은 여전히 ​​그것들을 발견 할 것입니다 (물론 그들은 같은 시트에 둘 다 있다고 가정합니다).

+0

{strYes = Cells (ir.Row, rngtocopyTN.Column) .Value} 그리고 거기에있어, 고마워! – Mike

+0

나는 다른 루프를 피하십시오 그리고 지금은 하나의 루프를 가진 함수를 통해 두 셀 값을 보낼 수 있습니다. – Mike