❶ 打開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,在其上右鍵→「查看代碼」,檢查代碼唄