有没有一种简单的方法来将2变量设置为范围函数

时间:2019-06-06 15:46:52

标签: excel vba range

我想在vba的range函数中添加两个变量。

例如,我想设置一个这样的范围,但我不知道是否可能:

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 :(得分:0)

这将起作用:

sort -nk 6 test | head -3 > output.txt

您可以将其作为任何变量中的值。

答案 1 :(得分:0)

该问题归因于ActiveCell.Row,因为我没有活动单元。

要解决这个问题,我只使用了Cpt而不是ActiveCell.Row

完整的行代码是:

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