workheets.activate命令后的非活动ListBox

时间:2017-09-13 14:16:51

标签: excel vba excel-vba listbox

我的ActiveX控件列表框有问题。在workheets.activate命令之后,它似乎处于非活动状态。

以下是我正在做的事情:

  1. 在Sheet1中,我有两个触发不同vba代码的按钮和一个ActiveX Control ListBox,用于生成第二次计算所需的字符串。当我将鼠标移到ListBox上时,光标从十字转到箭头,所以我可以选择这些框。

  2. 我的第一个按钮触发基于vba的数据导入。数据存储在Sheet2中。之后我再次激活Sheet1(Sheet1.Activate)。之后,不再可以选择ListBox中的框(当在ListBox上移动时,光标不再从十字形变为箭头。)

  3. 如果我摆脱了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
    

    提前致谢!

0 个答案:

没有答案