Excel VBA代码 亲测可用
- 格式:docx
- 大小:14.16 KB
- 文档页数:3
1、打开显示登录窗体代码
打开隐藏表格,显示登录窗体
private Sub Workbook_open()
Application.Visible = false
UserForm1.Show
end Sub
2、固定账号、密码登录窗体设置
(1)制作窗体
(2)登录验证
Private Sub CommandButton1_Click()
If TextBox1 = "admin" Then
If TextBox2 <> 123 Then
MsgBox "密码错误"
Exit Sub
Else
MsgBox "登录成功”"
Unload Me
Application.Visible = True
Sheet1.Activate
End If
Else
MsgBox "账号不存在"
End If
End Sub
(3)退出按钮
Private Sub CommandButton2_Click()
Unload Me
ThisWorkbook.Close
End Sub
(4)打开注册窗体
Private Sub CommandButton3_Click()
UserForm2.Show
End Sub
(5)唯一关闭代码
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode <> 1 Then Cancel = True
End Sub
3、注册账号
(1)制作注册账号窗体
(2)注册代码
Private Sub CommandButton1_Click()
Dim zh As Range, zt As Range
If TextBox1 = "" Then MsgBox "未填入账户": Exit Sub
If TextBox2 <> TextBox3 Then MsgBox "密码不一致": Exit Sub
Set zh = Sheets("注册").Range("a:a").Find(TextBox1.Text, , , 1)
If zh Is Nothing Then
Set zt = Sheets("注册").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
zt = TextBox1.Text
zt.Offset(0, 1) = TextBox2.Text
zt.Offset(0, 2) = Now
MsgBox "注册成功"
Unload Me
Else
MsgBox "账号已经存在,请更换其他账号"
End If
End Sub
4、查找筛选代码
Private Sub TextBox1_Change()
If Len(TextBox1.Value) = 0 Then
Sheet1.AutoFilterMode = False
Else
If Sheet1.AutoFilterMode = True Then
Sheet1.AutoFilterMode = False
End If
Sheet1.Range("B7:P" & Rows.Count).AutoFilter _
field:=4, Criteria1:="*" & TextBox1.Value & "*"
End If
End Sub
5、多账号密码验证代码
Private Sub CommandButton1_Click()
If Len(TextBox1) = 0 Then MsgBox "未输入账号": Exit Sub
Dim zh As Range
Set zh = Sheets("注册").Range("a:a").Find(TextBox1.Text, , , 1)
If Not zh Is Nothing Then
If TextBox2.Text <> zh.Offset(0, 1) Then
MsgBox "密码错误"
Exit Sub
Else
MsgBox "登录成功"
Unload Me
Application.Visible = True
Sheet1.Activate
End If
Else
MsgBox "账号不存在"
End If
End Sub
6、默认打开第一个工作表
Private Sub Workbook_Open()
Sheet1.Activate
End Sub
7、退出保存工作表
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub