如何在命名范围中查找范围变量的单元格地址

时间:2012-02-03 03:22:08

标签: excel excel-vba vba

我能够在Fortran中做到这一点,但我发现在Excel中也很有帮助。

我比较命名范围内的三个连续单元格。当单元格中的值对应于设定标准时,我对三个单元格求平均值。然后我需要确定中心值(单元格)的单元格地址,从而允许我引用其偏移量由该中心值单元格的单元格地址决定的单元格。

我认为它与我在模块中声明的变量“type”有关。

Dim CellAddressMin As Range
Dim CellAddressMax As Range

Dim i As Integer

Dim MaxVal As Double
Dim MinVal As Double
Dim Y1Value As Variant, YValue As Variant, Y2Value As Variant

 SOME OTHER CODE

ElseIf (Y1Value >= YValue And Y2Value >= YValue) Then

    ' Y Value is a minimum and need to determine the corresponding time interval
    'The minimum value will be taken as the average of the prior, the minimum and the proceeding values

    MinVal = WorksheetFunction.Average(Y1Value, YValue, Y2Value)

    CellAddressMin = YValue.address

1 个答案:

答案 0 :(得分:2)

对于命名范围test,您可以使用此代码查找" central"细胞 - 如果通过" centra"你的意思是中间值

代码

  • 查找指定范围的中位数
  • 使用MATCHINDEX

    从指定范围返回此单元格的地址
    Sub GetMedian()
    Dim rng1 As Range
    Dim rng2 As Range
    Set rng1 = Range("test")
    Set rng2 = Application.Index(rng1, Application.Match(Application.Median(rng1), rng1, 0))
    MsgBox rng2.Address(0, 0)
    End Sub