我有一个创建数据透视表的函数,但是当我尝试设置一个将被合并并添加了标题的范围时,我收到错误。
在下面的代码中,pivot_title_range
是一个'String'变量,在调用函数时是可选的。 title_range
是一个'Range'变量。设置范围的两行(无论用户是否声明pivot_title_range
)都会导致相同的错误。
If pivot_title_range = "" Then
title_range = ActiveSheet.Range("B3:E4")
Else
title_range = ActiveSheet.Range(pivot_title_range)
End If
这是我得到的错误 -
Run-time error '91':
Object variable or With block variable not set
如果需要,这是一个完整功能的Pastebin - http://pastebin.com/L711jayc。违规代码从第160行开始。
有人能告诉我我做错了什么吗?感谢。
答案 0 :(得分:6)
您需要使用
If pivot_title_range = "" Then
Set title_range = ActiveSheet.Range("B3:E4")
Else
set title_range = ActiveSheet.Range(pivot_title_range)
End If
因为你定义了title_range as range
- 这是一个对象;)