VBA用户表单只能使用一次

时间:2018-06-23 16:46:40

标签: vba excel-vba excel

我正在Excel 2013中创建一个用户窗体,以使在工作场所中将数据轻松输入到清单文件中。用户表格 (Userform and Code Picture)将运行,我可以在清单文件中输入多个新项目(忽略尚未更新的更新现有输入按钮),但是一旦我关闭表单,再次打开它会导致错误 “运行时错误'-2147417848(80010108)'范围'的方法'值'失败” 出现,并且每次尝试调试时Debug都会突出显示一个不同的对象。

Private Sub New_Data_Click() 
Dim lRow As Long
Dim lPart As Long
Dim ws As Worksheet
Set ws = Worksheets("Worksheet")

lRow = ws.Cells.Find(What:"*", SearchOrder:=xlRows,
    SearchDirection:=xlPrevious, LookIn=xlValues).Row + 1
With ws
    .Cells(lRow, 1).Value = Me.EnterChemical.Value
    .Cells(lRow, 2).Value = Me.EnterNotes.Value
    .Cells(lRow, 3).Value = Me.EnterLot.Value
    .Cells(lRow, 4).Value = Me.EnterItem.Value
    .Cells(lRow, 5).Value = Me.SpinButton1.Value
    .Cells(lRow, 6).Value = Me.EnterManf.Value
    .Cells(lRow, 7).Value = Me.EnterLoc.Value
    .Cells(lRow, 8).Value = Me.EnterTare.Value
    .Cells(lRow, 9).Value = Me.EnterGross.Value
    .Cells(lRow, 11).Value = Me.EnterUnit.Value
    .Cells(lRow, 12).Value = Me.EnterExp.Value
    .Cells(lRow, 16).Value = Date

    If Me.Expire.Value = True Then
        .Cells(lRow, 13).Value = "Expire"
    ElseIf Me.Retest.Value = True Then
        .Cells(lRow, 13).Value = "Retest"
    EndIf

    If Me.API.Value = True Then
        .Cells(lRow, 1).Value = "Yes"
    EndIf
EndWith

EndSub

Private Sub Closefrm.Click()
    Unload Me
End Sub

Private Sub SpinButton1_Change()
    Reference_no.Caption = SpinButton1.Value

所以这一次都有效,但是我不知道为什么第二次失败了。我需要在按钮上使用其他关闭功能,还是我完全丢失了某些东西。

0 个答案:

没有答案