Excel执行宏后随机崩溃

我正在把头发剪掉。

我试图将值从用户窗体文本框中添加到表中。

但是,一旦运行以下代码,Excel就会不断崩溃。

我收到的错误消息是

运行时错误-2147417848“对象'范围'的方法'值'失败

然后excel崩溃

我已经尝试了Option显式检查我是否没有丢失变量或声明不正确,我已经尝试删除表并重新开始,我已经开始了一个新的工作簿,我已经更改了表名,我已经尝试了4/5种不同的方法将数据添加到表的步骤(简单范围偏移,databodyrange(X,1),调整表大小等)。添加值时所有崩溃(顺便说一句,就是像mike / harry这样的文本)

该工作簿大约有10种形式,并且它们都可以完美地工作(它们将数据添加到表等),而这正是导致问题的原因

如果我手动将数据添加到表中,它将自动扩展并且没有问题

任何帮助表示赞赏。

Sub Enterprise_Update()
Dim lst As ListObject
Set lst = Sheets("Data Labels").ListObjects("Enterprises")


For Each ctrl In Enterprise_Setup.Controls
If ctrl.Name Like "Enterprise Name Value 1*" Then
z = z + 1
End If
Next ctrl

With lst.Sort
    .SortFields.Clear
    .Apply
End With


With lst
    LstRw = .ListRows.Count
End With


Select Case LstRw

Case Is = 1

lst.DataBodyRange(LstRw, 1).Offset(1, 0).Value = Enterprise_Setup.Controls("Enterprise Name Value 1" & x)

Case Else

For x = 1 To z

sLookFor = CStr(Enterprise_Setup.Controls("Enterprise Name Value 1" & x))

Set oLookin = lst.DataBodyRange
Set oFound = oLookin.Find(what:=sLookFor, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)


If Not oFound Is Nothing Then
GoTo err:

Else
    With lst
    LstRw = .ListRows.Count
    End With
End If


r = Enterprise_Setup.Controls("Enterprise Name Value 1" & x).Value

Sheets("Data Labels").Select
Range(lst.Range.Cells(1).Address).End(xlDown).Offset(1, 0).Select
ActiveCell.Value = r
'lst.DataBodyRange(X).Value = r

err:
Next
End Select
    With lst.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("Enterprises[Enterprises]"), Order:=xlAscending
    .Header = xlYes
    .Apply
End With

End Sub
评论