Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7515|回复: 15

[已解决]VBA做的登录窗体管理员设置隐藏了,能帮我改一下代码吗?

  [复制链接]
发表于 2011-8-21 09:22 | 显示全部楼层 |阅读模式
Private Sub ComboBox1_Change()
End Sub
Private Sub CommandButton1_Click()
If ComboBox1.Text = "" Or TextBox1.Text = "" Or TextBox2 = "" Then
     MsgBox "请填写齐全!", 1 + 64, "系统登录"
     TextBox1.SetFocus
Else
     If 取指定用户密码(ComboBox1) = TextBox1.Text Then
     Unload Me
     MsgBox ComboBox1.Text & "你好!欢迎你进入本系统。", 1 + 64, "欢迎界面"
     Sheets("用户及密码").Range("d2") = ComboBox1.Text
      
     Application.Visible = True
     ActiveWorkbook.Unprotect PASSWORD:="yubiao"
     Sheets("产品进出账").Visible = True
     Sheets("产品进出账").Activate
     ActiveWorkbook.Protect PASSWORD:="yubiao"
Else
     MsgBox "对不起登录密码错误,请重新输入!"
     
End If
End If
End Sub
Private Sub CommandButton2_Click()
     Unload Me
     Application.Visible = True
     ActiveWorkbook.Close savechanges:=False
End Sub
Private Sub CommandButton3_Click()
ComboBox1 = ""
TextBox1 = ""
TextBox2 = ""
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub TextBox2_Change()
  
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2.Value <> Label4.Caption Then
  MsgBox "验证码输入错误,请重新录入"
  Cancel = True
End If
End Sub
Private Sub UserForm_Initialize()
     Dim X As Integer, Y As Integer
     X = Sheets("用户及密码").Range("A65536").End(xlUp).Row
     For Y = 2 To X
     ComboBox1.AddItem Sheets("用户及密码").Cells(Y, 1)
     Next Y
     
     生成验证码
     
End Sub
Private Sub Userform_QueryClose(Cancel As Integer, CloseMode As Integer)
     If CloseMode = 0 Then Cancel = 1
End Sub
Private Sub Label4_Click()
生成验证码
End Sub
Sub 生成验证码()
验证码 = Int(Rnd() * 9000 + 1000)
Label4.Caption = 验证码
End Sub
Option Explicit
Private Sub Workbook_Open()
    Application.Visible = False
    系统登录.Show
   
    ActiveWorkbook.Unprotect "yubiao"
    Sheets("用户及密码").Visible = False

    If Sheets("用户及密码").Range("d2") = "余彪" Then
    ActiveSheet.Unprotect "yubiao"
Else
    ActiveSheet.Protect "yubiao"
End If
    ActiveWorkbook.Protect "yubiao"

End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Sheets("用户及密码").Range("d2") = "余彪" Then
    ActiveWorkbook.Close savechanges:=True
Else
    ActiveWorkbook.Close savechanges:=False
End If
    'Application.Quit
   
End Sub
Function 取指定用户密码(X As Object)
Dim Mrow As Integer
     Mrow = Sheets("用户及密码").Cells.Find(X.Text).Row
     取指定用户密码 = Sheets("用户及密码").Cells(Mrow, 2)
End Function
最佳答案
2011-8-21 13:17
回复 本拉灯 的帖子

登陆窗体.rar (61.76 KB, 下载次数: 461)
发表于 2011-8-21 09:59 | 显示全部楼层
回复 本拉灯 的帖子

不是打开的时候自动会出现登陆窗体界面吗?怎么隐藏了
回复

使用道具 举报

 楼主| 发表于 2011-8-21 10:21 | 显示全部楼层
回复

使用道具 举报

发表于 2011-8-21 10:42 | 显示全部楼层
你这个好象只有用“余彪”做管理员时,其他用户才能登录
如果不是余彪当管理,其他用户尽管密码正确也无法登录的
因为工作簿被保护了,不支持Find方法吧
回复

使用道具 举报

 楼主| 发表于 2011-8-21 10:49 | 显示全部楼层
我用余彪登录,也就一个表"产品进出账",应该还有一个表吧。
回复

使用道具 举报

 楼主| 发表于 2011-8-21 10:49 | 显示全部楼层
回复 baiyunfei 的帖子

我用余彪登录,也就一个表"产品进出账",应该还有一个表吧。
回复

使用道具 举报

发表于 2011-8-21 12:54 | 显示全部楼层
另一个表是用户及密码表啊,应是隐藏的
如果你想要看到,只要在
If 取指定用户密码(ComboBox1) = TextBox1.Text Then
     Unload Me
     MsgBox ComboBox1.Text & "你好!欢迎你进入本系统。", 1 + 64, "欢迎界面"
     Sheets("用户及密码").Range("d2") = ComboBox1.Text
if textbox1.text="余彪" then
Sheets("用户及密码").visible=true
endif

      
     Application.Visible = True
     ActiveWorkbook.Unprotect PASSWORD:="yubiao"
     Sheets("产品进出账").Visible = True
     Sheets("产品进出账").Activate
     ActiveWorkbook.Protect PASSWORD:="yubiao"
Else
     MsgBox "对不起登录密码错误,请重新输入!"
     
End If
以上代码之间加上红色部分代码
回复

使用道具 举报

 楼主| 发表于 2011-8-21 13:10 | 显示全部楼层
回复 baiyunfei 的帖子

加进去了,不好使,麻烦帮我做一下,谢谢!
登陆窗体.rar (61.87 KB, 下载次数: 34)
回复

使用道具 举报

发表于 2011-8-21 13:17 | 显示全部楼层    本楼为最佳答案   
回复 本拉灯 的帖子

登陆窗体.rar (61.76 KB, 下载次数: 461)
回复

使用道具 举报

 楼主| 发表于 2011-8-21 13:26 | 显示全部楼层
回复 macky591 的帖子

非常谢谢!!!
1、怎么弄的
2、怎么能插入工作表
3、更改密码行吗
4、更改管理员姓名行吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-6 21:12 , Processed in 0.295690 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表