无法使用ActiveX控件执行macros(Excel VBA)

问题 :不同机器上的用户无法执行VBAmacros,这在我的机器和其他机器上完美运行。

在MS Excel 2010 v.14.0.7015.1000(32位)中遇到ActiveX窗体控件问题。 使用ActiveXbutton和文本框我写了VBA代码来填充单击button时的文本框。

代码在我的机器上完美执行,并已在其他机器上工作。 我与其他用户可以单击button有问题。 我告诉用户尝试用Alt + F8键盘命令运行macros时遇到了麻烦,但是用户得到了“需要对象”的错误。

打了一堵墙,我正在寻找任何可能的帮助。

也试过这个论坛相关的MS更新无济于事: Microsoft Excel ActiveX控件禁用?

提前致谢!

如果有帮助,附上代码:

Public Sub CommandButton1_Click() 'Clear Working tab spreadsheet Worksheets("Sheet3").Range("A:AF").ClearContents '----------------- 'Filter One Doc to correct process and requirement ' Process Worksheets("One Doc Copy").Range("A2:AF12073").AutoFilter _ Field:=4, _ Criteria1:=Worksheets("MASTER TAB").Cells(2, ActiveCell.Column), _ VisibleDropDown:=False ' Requirement Worksheets("One Doc Copy").Range("A2:AF12073").AutoFilter _ Field:=12, _ Criteria1:=Worksheets("MASTER TAB").Cells(ActiveCell.Row, 2), _ VisibleDropDown:=False '----------------- 'Copy Filtered One Doc Data to Working Tab (Sheet3) Worksheets("One Doc Copy").Range("A2:AF12073").SpecialCells(xlCellTypeVisible).Copy _ Destination:=Worksheets("Sheet3").Range("A3") '----------------- 'Return the number of results for counter (find safer place for value) Dim Counter As Integer Counter = Worksheets("MASTER TAB").Range("DX3").Value '----------------- 'Populate Text Box Dim process, ctrlTxt As String process = Worksheets("MASTER TAB").Cells(2, ActiveCell.Column) If Counter = 0 Then TextBox1.Text = "There are no assigned requirements for: " & process Else TextBox1.Text = "Controls for: " & process & vbLf & vbLf _ & "Requirement #: " & Worksheets("sheet3").Range("L3").Value & vbLf _ & "Requirement Description: " & Worksheets("sheet3").Range("M3").Value & vbLf _ & "Total Number of Controls: " & Counter & vbLf _ & "-----------------" & vbLf & vbLf For x = 0 To Counter - 1 ctrlTxt = ctrlTxt & "(" & x + 1 & ")" & vbLf & vbLf _ & "Control Type: " & Worksheets("sheet3").Cells(3 + x, 19) & vbLf & vbLf _ & "Control Description: " & vbLf & vbLf & Worksheets("sheet3").Cells(3 + x, 20) & vbLf & vbLf _ & "---" & vbLf Next TextBox1.Text = TextBox1.Text + ctrlTxt End If End Sub