下面是我按网上找的方法设置的代码,EXCEL中第一个工作表是“登录”,第二个“设置”,第三、四个“表一、表二”。“设置”表中内容如下(这里放不了图片):
列的内容:
A列:姓名 B列:密码(格式为数值) C列:可操作的表 D列:设置 E列:表一 F列:表二
行的内容:
A2:张三 A3:李四 A4:王五
B2:123 B3:456 B4:789
C2~4:空白
D2~F2:1
F3:1
E4~F4:1
下面是代码:
Private Sub CommandButton1_Click()
On Error GoTo 10
Dim n As String
Set sh = Sheets("设置")
na = ComboBox1.Text: ps = TextBox1.Text
If na = "" Or ps = "" Then MsgBox "未输入用户名或密码,不能登录", , "提示": Exit Sub
s = WorksheetFunction.Match(na, sh.[a:a], 0)
n = sh.Cells(s, 2)
If n <> ps Then GoTo 10
Call 隐藏表
For i = 4 To 255
b = sh.Cells(s, i).Value
If b = 1 And sh.Cells(1, i) <> "" Then
Sheets(sh.Cells(1, i).Value).Visible -1
End If
Next
Unload UserForm1
Exit Sub
10:
MsgBox "姓名或密码错误,不能登录", , "提示"
End Sub
Sub 隐藏表()
ComboBox1.Text = "": TextBox1.Text = ""
For i = 1 To Worksheets.Count
If Sheets(i).Name <> "登录" Then
Sheets(i).Visible = 2
Else
Sheets(i).Visible = -1
End If
Next
End Sub
Private Sub CommandButton2_Click()
Call 隐藏表
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub UserForm_Activate()
Me.Top = 220
Me.Left = 120
For i = 2 To Sheets("设置").[a65536].End(xlUp).Row
ComboBox1.AddItem Sheets("设置").Cells(i, 1).Value
Next
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call UserForm1.隐藏表
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
Call UserForm1.隐藏表
UserForm1.Show
End Sub
Private Sub Worksheet_Activate()
For i = 2 To Worksheets.Count
Cells(1, i + 2) = Sheets(i).Name
Next
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UserForm1.Show
End Sub
用VBA制做了EXCEL登录系统后提示密码错误,谢谢!
答案:2 悬赏:80 手机版
解决时间 2021-03-08 01:17
- 提问者网友:niaiwoma
- 2021-03-07 03:36
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-03-07 03:44
通过阅读以上的登陆代码,没有发现异常或错漏;
正常情况下,张三的密码是123,李四的密码是456,没问题啊~
请注意输入的数字是不是全角,以及中间有无加入空格。
正常情况下,张三的密码是123,李四的密码是456,没问题啊~
请注意输入的数字是不是全角,以及中间有无加入空格。
全部回答
- 1楼网友:杯酒困英雄
- 2021-03-07 04:48
ctrl+pausebreak组合键,终止vba运行。嘻嘻
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯