偏移到两个动态范围

时间:2013-08-13 17:46:57

标签: excel vba

我有两个动态范围,我称之为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))

1 个答案:

答案 0 :(得分:2)

没有上下文很难说,但我认为Intersect方法可以实现您所需要的。它将找到一个交叉点,无论两个范围有多近或多远。所以使用你的例子:

[编辑]:我意识到你可以选择使用Cells方法(代码已经更新以显示)

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

请注意,rng1和rng2可以在任何列中,它仍然可以找到它们(当然假设它们都在同一张纸上)。