0

任何人都可以在此代码块中看到问题。我在 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

如果我单步执行代码,它可以完美运行。任何帮助是极大的赞赏。

4

2 回答 2

1

试试这个(未经测试

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
于 2013-10-28T16:57:24.460 回答
0

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

于 2013-10-28T16:58:26.973 回答