简单Sub上的1004错误

时间:2016-01-13 13:44:56

标签: vba excel-vba runtime-error global excel

我在下面的代码中出现1004错误。它如简单的例程,我无法弄清楚是什么错。这只是第1单元中的一个子目录。请注意,当我从表单Sub运行它时,UserForm2的代码工作正常。但是当我从这里调用它时,我得到了1004错误。我真的不明白导致错误的原因。帮助赞赏。请注意,ChosenString和Report是一个Public变量。您有几个1004错误条目,但我找不到符合此问题的条目。 UserForm2.Show。

出错
Sub ChooseReport()
' Display a selection box of reports and run the report
'
        ChoseCancel = 0
        Sheets("Codes").Activate
        UserForm2.Show       ' Displays selection box of reports
'
' If the Cancel button was selected, exit the sub
        If ChoseCancel = 1 Then
            Sheets("Reports").Activate
            Exit Sub
        End If
'
' Trim returned value of the comma
    StringLength = Len(ChosenString)
    Report = Left(ChosenString, StringLength - 2)
'
End Sub

这是我的UserForm2代码。它工作正常。

Sub UserForm_Initialize()
' Fill the list box with appropriate values
'
    UserForm1.ListBox1.ListStyle = fmListStylePlain
    Sheets("Codes").Activate
    Range("O4").Select
'
' Fill List box with appropriate cells entries for Reports
     With ListBox1
         Do While ActiveCell.Value <> Empty
              .AddItem ActiveCell.Value
              ActiveCell.Offset(1, 0).Select
         Loop
     End With
End Sub

1 个答案:

答案 0 :(得分:0)

找到它。我从UserForm1复制了代码,并没有将对UserForm1的引用更改为UserForm2。我的错误消失了。