我的ActiveX控件列表框有问题。在workheets.activate命令之后,它似乎处于非活动状态。
以下是我正在做的事情:
在Sheet1中,我有两个触发不同vba代码的按钮和一个ActiveX Control ListBox,用于生成第二次计算所需的字符串。当我将鼠标移到ListBox上时,光标从十字转到箭头,所以我可以选择这些框。
我的第一个按钮触发基于vba的数据导入。数据存储在Sheet2中。之后我再次激活Sheet1(Sheet1.Activate)。之后,不再可以选择ListBox中的框(当在ListBox上移动时,光标不再从十字形变为箭头。)
如果我摆脱了Sheet1.Activate命令,在数据导入之后,ActiveSheet显然是Sheet2。奇怪的是,在Excel中选择Sheet1之后,ListBox仍然有效。 所以在我看来,命令工作表.activate以某种方式停用ListBox。有谁知道如何解决这个问题?
这将是导入脚本的代码:
Sub import_stuff()
''defining variables
Dim panel As Worksheet
''turn off screen updating and displaying alerts
Application.ScreenUpdating = False
Application.DisplayAlerts = False
''defining the used workbooks
Set panel = ThisWorkbook.Worksheets("Controll Panel")
Set inputbook = Workbooks.Open("link to file")
''delete the worksheet "input data" if it exists, if not it does nothing...
On Error Resume Next
thisbook.Worksheets("Input data").Delete
On Error GoTo 0
''copying the data from the source file to a new worksheet
inputbook.Worksheets("Sheet1").copy After:=panel
''renaming the newly generated worksheet
ActiveSheet.name = "Input data"
''closing the source file without saving
inputbook.Close False
panel.Activate
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
提前致谢!