Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 是否有一种简单的方法将2个变量设置为范围函数_Excel_Vba_Range - Fatal编程技术网

Excel 是否有一种简单的方法将2个变量设置为范围函数

Excel 是否有一种简单的方法将2个变量设置为范围函数,excel,vba,range,Excel,Vba,Range,我想在vba的范围函数中添加两个变量 例如,我想设置这样的范围,但我不知道是否可能: Range("BY" & FirstVariable &":BY" & SecondVariable) 为了使用工作表功能。中值法: Application.Median(Range("BY" & FirstVariable &":BY" & SecondVariable)) 我试过这个: Range("BY" & ActiveCell.Row - C

我想在vba的范围函数中添加两个变量

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

Range("BY" & FirstVariable &":BY" & SecondVariable)
为了使用工作表功能。中值法:

Application.Median(Range("BY" & FirstVariable &":BY" & SecondVariable))
我试过这个:

Range("BY" & ActiveCell.Row - CptM & ":BY" & ActiveCell.Row)
其中CptM是一个数字

但我得到了错误:执行代码91:对象变量或未定义的Bloc变量

我想做的是:

我使用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等的中值

感谢您的时间和考虑。

这将有效:

Application.Median(Range("BY" & ActiveCell.Row - CptM & ":BY" & ActiveCell.Row))
您可以将其作为任何变量的值。

问题是由于ActiveCell.Row造成的,因为我没有活动单元格

为了处理这个问题,我只使用了Cpt而不是ActiveCell.Row

全行代码为:

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

你想用这个范围做什么?我的意思是复制它?选择它?请显示更多代码。您的模块选项是否明确?您是否尝试设置rng=范围?你在用With吗?它有结尾吗?@Mikku我想用这个应用程序。MedianMyRange@Cyril我用的是For,结尾有一个Next,但我没有用With语句你真的有活动单元格吗?我不是100%肯定你会。尝试用Cpt替换ActiveCell.Row,例如:MyVar=Application.MedianRangeBY&Cpt-CptM&:BY&CptI已经尝试过了,但是我得到了错误代码:13类型不兼容您正在尝试的范围是什么?你能把这些数字的截图作为例子吗?