❶ 打开EXCEL时出现 隐含模块中的编译错误:UserForm1
Option Explicit
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Const ID = "123"
Private Sub CommandButton1_Click()
If TextBox1 = ID Then
Unload UserForm1
Exit Sub
Else
UserForm1.Height = UserForm1.Height - 30
UserForm1.Width = UserForm1.Width - 30
TextBox1 = ""
TextBox1.SetFocus
End If
If UserForm1.Height < 80 Then
MsgBox "不知道密码就不要再撑了!按""X""离开吧!"
End If
End Sub
Private Sub CommandButton2_Click()
TextBox1 = ""
TextBox1.SetFocus
End Sub
Private Sub UserForm_Initialize()
Application.EnableCancelKey = xlDisabled
SetWindowPos hWndForm, -1, 0&, 0&, 0&, 0&, 3 '让视窗保持最上层
Call SetForegroundWindow(hWndForm) '让视窗取得焦点
End Sub
Function hWndForm() As Long
hWndForm = FindWindow("ThunderDFrame", UserForm1.Caption) 'UserForm
End Function
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If Not TextBox1 = ID Then
ThisWorkbook.Saved = True
ThisWorkbook.Close
End If
SetWindowPos hWndForm, -2, 0&, 0&, 0&, 0&, 3
Application.EnableCancelKey = xlInterrupt
End Sub
用这个程序
❷ Excel2013加载宏报错,提示存在编译错误:UserForm1,求解答~~~
进宏编辑界面,在左边的列表中的“窗体”中找到userform1,在其上右键→“查看代码”,检查代码呗