2014-10-02 228 views
-1

我知道这是本论坛和其他论坛询问的一个非常常见的问题,但给出的答案无法帮助我,所以我再次提出这个问题。VBA Excel运行时错误424

我想创建一个与Excel的测验,为此我添加一个复选框来检查以验证选择并查看答案。问题是我有这个VBA运行时错误'对象需要',我不能解决它。

下面是VBA代码,我执行

Sub affichageQuestion() 

    Dim xlw As Workbook  
    Set xlw = Workbooks("quiz.xlsm") 

    xlw.Worksheets("Sheet1").Shapes(2).Visible = msoTrue 

    xlw.Worksheets("Sheet1").Range("B3") = xlw.Worksheets("Sheet2").Range("A2").Value 
    xlw.Worksheets("Sheet1").Range("B8") = xlw.Worksheets("Sheet2").Range("B2").Value 
    xlw.Worksheets("Sheet1").Range("B10") = xlw.Worksheets("Sheet2").Range("B3").Value 
    xlw.Worksheets("Sheet1").Range("B12") = xlw.Worksheets("Sheet2").Range("B4").Value 
    xlw.Worksheets("Sheet1").Range("B14") = xlw.Worksheets("Sheet2").Range("B5").Value 

    If (validate.Value = -1) Then 
     If (xlw.Worksheets("Sheet1").Range("F3").Value = 2) Then 
      xlw.Worksheets("Sheet1").Shapes(2).Visible = msoTrue 
     End If 
    End If 

End Sub 

随着步入函数I位于该线上

If (validate.Value = -1) Then 

的错误,但我能找到一个解决方案。
如果有人能尽快,我会真的格莱德回答我,因为我的实习负责正在等待测验

+3

是什么在你的代码中验证? – GSerg 2014-10-02 10:05:46

+0

是“验证”窗体复选框或ActiveX? – 2014-10-02 10:18:38

回答

0

如果您的复选框是直接在您的工作表,然后尝试:

If xlw.Worksheets("Sheet1").validate.Value = False Then