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 如何消除运行时错误91对象变量或未设置块变量?_Excel_Vba - Fatal编程技术网

Excel 如何消除运行时错误91对象变量或未设置块变量?

Excel 如何消除运行时错误91对象变量或未设置块变量?,excel,vba,Excel,Vba,我试图调用我创建的函数,但一直收到此错误 'This is where I try and call the function Sub Test1() Dim ChartCells1 As Range Set ChartCells1 = GetValues(ActiveSheet.Range("BV2", Range("BV2").End(xlDown)), ActiveSheet.Range("BV2")) ChartCells1.Select End Sub 'this is

我试图调用我创建的函数,但一直收到此错误

 'This is where I try and call the function
 Sub Test1()
 Dim ChartCells1 As Range
 Set ChartCells1 = GetValues(ActiveSheet.Range("BV2", Range("BV2").End(xlDown)), ActiveSheet.Range("BV2"))
 ChartCells1.Select
 End Sub

'this is the function  am trying to call   
Function GetValues(Column As Range, Value As Range) As Range

Dim ChartCells As Range
Dim Count As Range
Dim Cells As Range
Dim Number As Range

DataSheetArea1Zone16.Activate

Set Number = Range(Value)
Set Cells = Range(Column)
Set ChartCells = Range(Value).Offset(0, -36)

For Each Count In Cells

  If Count.Value <> Number Then
    Set ChartCells = Union(ChartCells, Count.Offset(0, -36))
    Set Number = Count

  End If

Next Count

GetValues = ChartCells

End Function
“这是我尝试调用函数的地方
子测试1()
暗淡的图表单元格1作为范围
Set-ChartCells1=GetValues(ActiveSheet.Range(“BV2”),Range(“BV2”).End(xlDown)),ActiveSheet.Range(“BV2”))
图表单元格1.选择
端接头
'这是我试图调用的函数
函数GetValues(列作为范围,值作为范围)作为范围
将单元格设置为范围
变暗计数为范围
暗淡的单元格作为范围
作为范围的暗数
数据表区域16.激活
设置编号=范围(值)
设置单元格=范围(列)
设置图表单元格=范围(值)。偏移量(0,-36)
对于单元格中的每个计数
如果是计数,则为数值
设置ChartCells=Union(ChartCells,Count.Offset(0,-36))
设置数量=计数
如果结束
下一次计数
GetValues=ChartCells
端函数
'''


我一直收到错误91,但我希望某些框被选中

哪一行抛出错误?快速浏览:
范围(值)
范围(列)
有问题
Value
Column
已经是
Range
了,不应该包含在
Range
调用中。
GetValues=ChartCells
如果
GetValues
返回一个
String
的话,看起来也很可疑。
GetValues
第一个问题是如何定义传递给GetValues的第一个参数。如果您的起始单元格是BV2,那么它应该是
ActiveSheet.Range(“BV2”,Range(“BV2”).End(xlDown))
。第二个问题是GetValues中的
Next
控制变量应该是
Next Count
,而不是
Next Count1
。第三个问题是GetValues的返回类型应该是一个范围对象。如果是这样,签名应该是
函数GetValues(列作为范围,值作为范围)作为范围
。哪一行抛出错误?快速浏览:
范围(值)
范围(列)
有问题
Value
Column
已经是
Range
了,不应该包含在
Range
调用中。
GetValues=ChartCells
如果
GetValues
返回一个
String
的话,看起来也很可疑。
GetValues
第一个问题是如何定义传递给GetValues的第一个参数。如果您的起始单元格是BV2,那么它应该是
ActiveSheet.Range(“BV2”,Range(“BV2”).End(xlDown))
。第二个问题是GetValues中的
Next
控制变量应该是
Next Count
,而不是
Next Count1
。第三个问题是GetValues的返回类型应该是一个范围对象。如果是这样,签名应该是
函数GetValues(列作为范围,值作为范围)作为范围