Excel VBA:无法设置范围

时间:2014-03-27 18:26:30

标签: excel-vba vba excel

我在排除简单边框功能时遇到了一些麻烦。有趣的是,我认为这在昨天有效。但是当我今天打开工作簿(从昨天开始保存)时,有些东西无效。

我可以编译包含以下代码的项目。但是,在运行时,我收到以下错误:“运行时错误'91':对象变量或没有设置块变量”

有帮助,不是吗?好吧,当我点击“debug”时,突出显示我指定my_range的行。本地窗口显示没有为my_range分配值。为什么这个范围在这样的作业中遇到麻烦?

我在Win7机器上使用Excel 2007。这是完整的程序代码:

Public Sub borders_test()

'activate the sheet
Worksheets("Sheet1").Activate

'create a range, and assign to it
Dim my_range As Range
my_range = ActiveSheet.Cells(2, 3)

'set a red border around the range
With my_range.Borders
  .Color = RGB(255, 0, 0)
  .Weight = xlMedium
End With

'now delete the border
'With my_range.Borders
'  .LineStyle = xlNone
'End With

End Sub

从my_range赋值下面取出行没有任何区别。

1 个答案:

答案 0 :(得分:0)

改为使用这个:

Dim my_range As Range
Set my_range = ActiveSheet.Cells(2, 3)

对象分配给变量时,应始终使用Set关键字。

顺便说一下,这篇文章可能会对你有所帮助:how to avoid using Select/Active statements:)