VBA-获取具有已知单元格地址的值

VBA-get values with known cell address

我正在尝试获取包含特定文本的行的值。 Say Liquidity Coverage Ratio 是 B57 中可用的文本。我需要 C57 和 D57 的值。我已经实现了直到检索到包含文本的单元格的地址。

请帮助我进一步进步。

 If fCheckSheet(forecastWorkbook, "Calculator (FX net)") Then
            wsForecast.Activate
        Else
            ErrorStatus = "Source Sheet:Calculator (FX net) not found"
            msgBoxReturn = MsgBox(ErrorStatus & forecastWorkbook.FullName, vbExclamation + vbOKCancel)
     End If

     Set rngRatio = FindRangeOfText(wsForecast, "Liquidity Coverage Ratio")
     'Gets the address of cell having
     RatioAddress = rngRatio.Address

     'The address is $B
       '???? how to retreive values for $c and $D

非常感谢Whosebug用户的回复,是他们让我从小白成长到现在这个水平。感谢您的耐心等待。

此致,

马尼

假设你引用的函数(但没有提供代码支持)将returnRange类型对象(或Nothing),那么你可以简单地使用Offset方法:

If Not rngRatio Is Nothing Then
    With rngRatio
        Debug.Print .Offset(0,1).Address, .Offset(0,1).Value '$C
        Debug.Print .Offset(0,2).Address, .Offset(0,2).Value '$D
    End With
End If

还有一种鲜为人知的方法可以做同样的事情:

If Not rngRatio Is Nothing Then
    With rngRatio
        Debug.Print .Cells(1, 2).Value 
        Debug.Print .Cells(1, 3).Value
    End With
End With

我更喜欢第一种方法,因为它是明确的而不是隐含的。这种方法不太清楚,因为不是每个人都凭直觉知道可以使用 Cells 属性 引用范围对象 外部 的单元格,例如:

MsgBox Range("A1").Cells(1, 4).Address ' --> $E

MsgBox Range("A1").Cells(4, 2).Address ' --> $B