首页 > 解决方案 > 使用范围对象进行循环

问题描述

我正在搜索某个标头并将其保存为范围对象(FindEQ4)。现在我想使用这个标题作为动态范围对象的起点。我的问题是,如何获取 Header 1 在 C5 中的信息并像使用它一样使用它Set TestR = .Range("C" & 5 + x)

 Sub FindCopyPasteV3()

    With Worksheets("Sheet1").Range("A:FF")

        Dim FindEQ4 As Range
        Dim TestR As Range
        Dim x As Long

        Set FindEQ4 = .Find(What:="Header 1", LookAt:=xlWhole, MatchCase:=True, SearchFormat:=False)

        'I'm looking for something like TestR = .Range("FindEQ4" + x)  
        'which works like Set TestR = .Range("C" & 5 + x) 

    End With

End Sub

在此处输入图像描述

标签: excelvba

解决方案


使用对象的.Columnor.Row属性Range

Option Explicit
Sub test()

    Dim FindEQ4  As Range
    Dim StartRow As Long
    Dim StartColumn As Long
    Dim TestR As Range

    With ThisWorkbook.Sheets("Sheet1")
        Set FindEQ4 = .Range("A1")
        StartRow = FindEQ4.Row + 1
        StartColumn = FindEQ4.Column
        Set TestR = .Cells(StartRow, StartColumn) 'A2
    End With

End Sub

推荐阅读