Есть ли простой способ установить 2 переменную в функцию диапазона - PullRequest
0 голосов
/ 06 июня 2019

Я хочу добавить две переменные в функцию диапазона моего VBA.

Например, я хотел бы установить такой диапазон, но я не знаю, возможно ли это:

Range("BY" & FirstVariable &":BY" & SecondVariable)

Для использования WorksheetFunction. Медианный метод:

Application.Median(Range("BY" & FirstVariable &":BY" & SecondVariable))

Я пробовал это:

Range("BY" & ActiveCell.Row - CptM & ":BY" & ActiveCell.Row)

Где CptM - это число

Но я получил ошибку: "Execution code 91: Object Variable Or Bloc Variable With not defined.

Что я хочу сделать:

enter image description here

Я использую цикл For для просмотра столбца J и проверки значения ячеек J

   For Cpt = 4 To Cells(Rows.Count, 10).End(xlUp).Row

MyString= Cells(Cpt - 1, 10).Value

    If Cells(Cpt, 10).Value = MyString Then

    CptM = CptM + 1

    End If

    If Cells(Cpt, 10).Value <> Metier Then
    MyVar= Application.Median(Range("BY" & ActiveCell.Row - CptM & ":BY" & ActiveCell.Row))
    Cells(Cpt, 81).Value = MyVar
    CptM = 0

    End If

Next Cpt

Там я могу получить медиану диапазона R1, R2 и т. Д. ...

Спасибо за ваше время и внимание.

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Проблема была из-за ActiveCell.Row, потому что у меня не было активных ячеек.

Для этого я использовал Cpt вместо ActiveCell.Row

Полный код строки:

Application.Median(Range("BY" & Cpt - CptM & ":BY" & Cpt))
0 голосов
/ 06 июня 2019

Это будет работать:

Application.Median(Range("BY" & ActiveCell.Row - CptM & ":BY" & ActiveCell.Row))

Вы можете поместить это значение в любую переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...