Vba 工作表后的非活动列表框。激活命令

Vba 工作表后的非活动列表框。激活命令,vba,excel,listbox,Vba,Excel,Listbox,我的ActiveX控件列表框有问题。在执行worksheets.activate命令后,它似乎处于非活动状态 以下是我正在做的: 在Sheet1中,我有两个按钮来触发不同的vba代码和一个ActiveX控件列表框,用于生成第二次计算所需的字符串。当我将鼠标移到列表框上时,光标从十字变成箭头,这样我就可以选择框 我的第一个按钮触发基于vba的数据导入。数据存储在表2中。之后,我再次激活Sheet1(Sheet1.激活)。在此之后,将无法再选择列表框中的框(光标在列表框上移动时不再从十字变为箭头)

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

以下是我正在做的:

  • 在Sheet1中,我有两个按钮来触发不同的vba代码和一个ActiveX控件列表框,用于生成第二次计算所需的字符串。当我将鼠标移到列表框上时,光标从十字变成箭头,这样我就可以选择框

  • 我的第一个按钮触发基于vba的数据导入。数据存储在表2中。之后,我再次激活Sheet1(Sheet1.激活)。在此之后,将无法再选择列表框中的框(光标在列表框上移动时不再从十字变为箭头)

  • 如果我去掉Sheet1.Activate命令,在数据导入之后,ActiveSheet显然是Sheet2。奇怪的是,在excel中选择Sheet1后,列表框仍在工作。 因此,在我看来,命令worksheets.activate会以某种方式禁用列表框。有人知道如何解决这个问题吗

    这将是导入脚本的代码:

    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
    

    提前谢谢

    发布您正在使用的代码有助于我们帮助您。您是对的@ElmerDantas,该代码现在已添加。这可能是由于Excel中与ActiveX控件相关的错误导致您无法在列表框中选择值。尝试输入Sheet1上的任何单元格(双击或F2)并用enter确认。之后,您应该能够单击ActiveX控件。。。阅读有关此问题的更多信息可能值得尝试在工作表中选择一个单元格,而不是尝试激活工作表,然后查看您是否仍然可以与您的控件交互发布您正在使用的代码有助于我们帮助您。您是对的@ElmerDantas,现在添加了代码。这可能是由于Excel中与ActiveX控件关联的错误,该错误阻止您在列表框中选择值。尝试输入Sheet1上的任何单元格(双击或F2)并用enter确认。之后,您应该能够单击ActiveX控件。。。阅读有关此问题的更多信息可能值得尝试在工作表中选择一个单元格,而不是尝试激活工作表,然后查看是否仍然可以与控件交互