VBA – 编译错误 – 未find方法或数据成员

我一直在使用这个excel程序几个月没有问题。 突然几天前它开始抛出这个错误。 在名为“input”的工作表上,我将双击列“A”中的一个单元格,这将创build一个下拉框,填充“数据”表中的数据。 我开始打字,然后select要添加到单元格中的数据。 现在,当我单击单元格,并收到错误消息“编译错误 – 方法或数据成员未find”。 这是我的代码块,错误显示在底部高亮显示“Me.TempCombo.Activate”。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim str As String Dim cboTemp As OLEObject Dim ws As Worksheet Set ws = ActiveSheet If Target.Column = 1 And Target.Row > 12 And Target.Row <> HRRow And Target.Row <> HRRow - 1 Then lRow = Sheets("Data").Range("A65536").End(xlUp).Row Set cboTemp = ws.OLEObjects("TempCombo") On Error Resume Next With cboTemp 'clear and hide the combo box .ListFillRange = "" .LinkedCell = "" .Visible = False End With On Error GoTo errHandler 'If Target.Validation.Type = 3 Then 'if the cell contains a data validation list Cancel = True Application.EnableEvents = False 'get the data validation formula 'str = Target.Validation.Formula1 'str = Right(str, Len(str) - 1) str = "=Data!A2:A" & lRow With cboTemp 'show the combobox with the list .Visible = True .Left = Target.Left .Top = Target.Top .Width = Target.Width + 5 .Height = Target.Height + 5 .ListFillRange = str .LinkedCell = Target.Address End With 'cboTemp.Activate Me.TempCombo.Activate 'open the drop down list automatically Me.TempCombo.DropDown End If errHandler: Application.EnableEvents = True Exit Sub End Sub 

我尝试了几件事,对于我的生活,我无法弄清楚改变了什么。 任何帮助将不胜感激。 谢谢。

我遇到了同样的错误,并能够解决这个问题,罗里build议。 我search了我的机器的* .exd文件,发现了一些。 删除C:\Users\<username>\AppData\Local\Temp\Excel8.0\MSForms.exd后,我解决了这个问题…其他人似乎与Excel中的ActiveX控件无关。

看起来像这样的代码来自一个例子: http : //www.contextures.com/xlDataVal10.html

除了你的代码已经注释掉了激活cboTempcombobox的行。 您的代码正试图访问工作表的TempCombo属性(我不认为存在)。 在突出显示的错误行上方的行上取消注释'cboTemp.Activate ”。

我也有同样的问题,今天早上我的代码被破坏了。 幸运的是,我记得我在本周末运行了Windows Update。 我执行系统恢复(最早的恢复点是12月8日),现在问题没有了。

我从来没有理解那些在系统更新之前/之后总是进行备份和花费大量时间进行testing的panicy服务器人员,在我所有的这些年里,我从来没有遇到任何问题。 现在我确定了他们在说什么。 学习到教训了。 我会尝试在几个月内再次运行win更新,希望MS已经解决了这个问题。

祝你好运