2014-03-27 128 views
0

我在排除簡單邊框功能時遇到了一些問題。有趣的是,我認爲這個工作昨天。但是,當我今天打開工作簿(從昨天保存)時,某些內容無法正常工作。Excel VBA:無法設置範圍

我可以編譯包含下面代碼的項目。但是,運行時,出現以下錯誤:「運行時錯誤'91':對象變量或塊變量未設置」

有幫助嗎?那麼,當我點擊「調試」時,我分配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賦值下面取出線條沒有區別。

+0

使用'設置my_range = ActiveSheet.Cells(2,3)'代替。當你將_object_分配給變量時,你應該總是使用'Set'關鍵字 –

+1

,如果你發佈答案我可以標記爲已回答。謝謝。 –

回答

0

用這個來代替:

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

當分配對象變量,你應該總是使用Set關鍵字。

順便說一句,這篇文章可以幫助你在未來:how to avoid using Select/Active statements :)