2014-03-03 150 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