【发布时间】:2025-12-09 19:05:02
【问题描述】:
我有一个多页用户窗体控件,其中包含两个页面和用于取消、返回、下一步和完成的按钮控件。
当我通过减去 1 在“后退”按钮子中设置 multipage.value 属性时,Excel 冻结/挂起。
Private Sub btn_Back_Click()
' Set the buttons
Me.btn_Next.Enabled = True
Me.btn_Finish.Enabled = False
Me.btn_Back.Enabled = False
Me.multipage_add_xfr.value = Me.multipage_add_xfr.value - 1
End Sub
通过添加 1 来“前进”到第二页的代码在 btn_Next_Click() 子中可以正常工作:
Me.multipage_add_xfr.value = Me.multipage_add_xfr.value + 1
最后,在UserForm_Initialize() 上,将多页控件设置为第一页(例如 value = 0)也会导致 Excel 崩溃。
Me.multipage_add_xfr.value = 0
UPADTE 以下代码适用于在当前项目中创建的新用户表单,但旧用户表单不能。
Private Sub CommandButton1_Click()
Me.CommandButton1.Enabled = False
Me.CommandButton2.Enabled = True
Me.MultiPage1.value = Me.MultiPage1.value + 1
End Sub
Private Sub CommandButton2_Click()
Me.CommandButton2.Enabled = False
Me.CommandButton1.Enabled = True
Me.MultiPage1.value = Me.MultiPage1.value - 1
End Sub
Private Sub UserForm_Initialize()
Me.CommandButton2.Enabled = False
Me.CommandButton1.Enabled = True
Me.MultiPage1.value = 0
End Sub
想法?
【问题讨论】:
-
您的项目中是否有任何多页处理程序?比如 multipage_add_xfr_Change()。
-
不,不适用于多页控件。
-
所以,尝试试验一下:创建另一个项目,插入多页、2 个按钮并创建事件处理程序,没有其他代码。
-
可能是内部问题。在我的项目中进行批量重命名时,我遇到了类似的崩溃。
-
我运行了实验并注意到
.value属性在测试项目中自动更改为大写“V”,但在我的主项目中没有。对正确库的某处是否有损坏的引用?