Как найти адрес ячейки переменной диапазона в именованном диапазоне - PullRequest
1 голос
/ 03 февраля 2012

Я могу сделать это в Фортране, но с тех пор я обнаружил, что было бы очень полезно иметь и в Excel.

Я сравниваю три последовательные ячейки в названном диапазоне.Когда значения в ячейках соответствуют установленным критериям, я усредняю ​​три ячейки.Затем мне нужно определить адрес ячейки центрального значения (ячейка), что позволяет мне ссылаться на ячейку, смещение которой определяется адресом ячейки этой центральной ячейки значения.

Я думаю, что это связано с переменной "тип", которую я объявляю в модуле.

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 Ответ

2 голосов
/ 03 февраля 2012

Для именованного диапазона test вы можете использовать этот код для поиска "центральной" ячейки - если под "centra" вы подразумеваете среднее значение

код

  • находит медиану именованного диапазона
  • возвращает адрес этой ячейки из именованного диапазона, используя MATCH и INDEX

    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
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...