从ComboBox中选择时,VBA Excel 2013表单将关闭

时间:2013-10-28 16:48:50

标签: excel vba excel-vba combobox

任何人都可以在此代码块中看到问题。我在2010年没有遇到任何问题,但在2013年运行VBA时似乎遇到了很多问题。

我有一个从excel表激活的控制表单,它有几个选项,然后打开这个表单(形成这些选项)。表单打开,但是当第一个组合框选择被激活时,表单将关闭并基本崩溃。

Public Sub cmbSelectAccount_DropButtonClick()
  Application.ScreenUpdating = False

  Workbooks.Open Filename:="C:\Users\xxxxxx\Desktop\New folder\accounts.xlsx"

  Sheets("Accounts").Activate
  ActiveSheet.Range("a2:a199").Select

  Me.cmbSelectAccount.List = Worksheets("Accounts").Range("a2:a199").Value
  myAccount = Me.cmbSelectAccount.Value

  Workbooks("Accounts").Close
End Sub

如果我单步执行代码,它可以完美运行。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

试试这个( UNTESTED

Public Sub cmbSelectAccount_DropButtonClick()
    Dim wb As Workbook

    Application.ScreenUpdating = False

    Set wb = Workbooks.Open(Filename:="C:\Users\xxxxxx\Desktop\New folder\accounts.xlsx")

    DoEvents

    Me.cmbSelectAccount.List = wb.sheets("Accounts").Range("a2:a199").Value

    DoEvents

    myAccount = Me.cmbSelectAccount.Value

    wb.Close (False)
End Sub

答案 1 :(得分:0)

Excel中的Sheets vs Worksheets有一些怪癖,也许在2013年他们试图修复它们。我会尝试将您对纸张和工作表的2个引用更改为所有可能的组合,首先从工作表开始,然后是工作表工作表,然后是工作表工作表