任何人都可以在此代码块中看到问题。我在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
如果我单步执行代码,它可以完美运行。非常感谢任何帮助。
答案 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个引用更改为所有可能的组合,首先从工作表开始,然后是工作表工作表,然后是工作表工作表