2014-03-03 153 views
0

我在2010年廣泛使用的Excel宏中遇到錯誤。在Excel 2013中,每隔一段時間運行一次宏,都會得到一個438錯誤(對象不支持此屬性或方法)。間歇性excel 2013 vba錯誤438

如果我在「WITH」語句處停止代碼,然後再次手動強制執行SELECT語句,那麼我不會收到錯誤。

有沒有人有線索可能導致此?

ActiveSheet.Shapes("Drop Down 28").Select 
    With Selection 
     .ListFillRange = "Constants!$J$2:$J$13" 
     .LinkedCell = "$E$2" 
     .DropDownLines = 12 
     .Display3DShading = False 
    End With 

在此先感謝您的任何想法。

+2

什麼是錯誤信息的*文本* –

+0

「對象不支持此屬性或方法」 – Bryndwl

+1

我的精神力量告訴我你的'Selection'會隨意轉換,因爲它是「當前選擇的內容」,而不是「你最後選擇了'.Select'。嘗試[不使用'Select'](http://stackoverflow.com/q/10714251/11683)。 – GSerg

回答

2
With ActiveSheet.DropDowns("Drop Down 28") 
     .ListFillRange = "A1:A10" 
     .LinkedCell = "A12" 
     .DropDownLines = 10 
     .Display3DShading = False 
End With 
+0

這工作完美我不確定爲什麼上面的選擇代碼與Excel 2013不兼容......它是有趣的,它實際上盟友會在交替嘗試中工作或不工作。 我注意到的那些有效的執行和沒有執行的執行之間的區別是,當它第一次出現錯誤時,隱藏的電子表格「聯繫人」在此處被公開。隨後的執行會起作用,然後重新隱藏工作表。下一次執行會失敗,並使其再次暴露,等等。 但上面的顯式變化解決了這個問題。謝謝您的幫助。 – Bryndwl