Excel因afterupdate宏错误而崩溃

时间:2019-06-21 03:41:36

标签: excel vba crash userform

我是excel vba的新手,基本上是用它来创建报表生成器,在该生成器中我通过用户表单输入数据,然后生成报表。

工作簿中有两个用户窗体。

一切正常,直到我从第二个用户窗体中的文本框的afterupdate宏中获得此“错误424对象要求”,并且当我单击“停止”按钮时,excel崩溃了。

  • 我更改了要在退出文本框时触发的宏,但不会发生崩溃。
  • 我将带有afterupdate宏的文本框复制到了一个新的用户窗体,不会出错,不会崩溃。
  • 我将文本框复制到第一个用户窗体,但出现Excel崩溃错误。
  • 由于错误excel崩溃,我将正在使用的用户表单插入到新工作簿中。

所以在我看来,我最初的两个用户表单存在一些问题。

任何关于可能是什么原因的想法都会受到赞赏,与此同时,我将创建两个新的用户窗体并将其复制到其中。

编辑1:

以下是触发错误的代码:

Private Sub AKA_en_AfterUpdate()
Dim SubNo, SubNoCol As Long

SubNo = AKA.AKA_Subjects.Value 'AKA: second userform name, AKA_Subjects: Combobox with subjects number (1 to 5)
SubNoCol = (AKA.AKA_Subjects.Value * 3) + 3 'Subject no. -> Column no.

ThisWorkbook.Sheets("sheet2").Range("AKA_E" & SubNo).Value = "" 'aka_e (1 to 5) ranges where the data is populated
Dim AKA_en: AKA_en = Split(AKA.AKA_en.Value, vbCrLf) 'AKA_en: textbox
For i = 0 To UBound(AKA_en)
ThisWorkbook.Sheets("sheet2").Cells(i + 31, SubNoCol).Value = WorksheetFunction.Trim(AKA_en(i))
Next
End Sub

但是请记住,问题不在于此代码本身,而是仅在我已经拥有的两种用户格式中,afterupdate宏中发生的任何错误

0 个答案:

没有答案