Excel精英培训网

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

[已解决]请vba大师帮忙修改代码

[复制链接]
发表于 2015-2-22 13:25 | 显示全部楼层 |阅读模式
本帖最后由 武林长风 于 2015-2-22 15:02 编辑

这个登陆窗体的用户名是ABC,密码是123。现在想把它改为这样:当用户名是ZC,密码是321时,登陆后只能看到支出工作表;当用户名是QB时,密码是789时,则能看到所有操作的工作表。用户名、密码不要放在工作表里。请放在代码里。请大师帮忙修改一下,谢谢!!! 新建文件夹.rar (39.18 KB, 下载次数: 6)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2015-2-22 13:28 | 显示全部楼层
原表里的其它功能保留,只添加个权限方面的功能。
回复

使用道具 举报

发表于 2015-2-22 14:24 | 显示全部楼层
登陆窗体.rar (38.89 KB, 下载次数: 4)

评分

参与人数 1 +6 收起 理由
武林长风 + 6 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-2-22 14:27 | 显示全部楼层
hwc2ycy 发表于 2015-2-22 14:24
这样扩展性太差了。

有一点小问题:当用户名是QB、密码是789时,登陆后,sheet1不要显示。sheet1是在禁用宏时显示的。
回复

使用道具 举报

发表于 2015-2-22 14:29 | 显示全部楼层
武林长风 发表于 2015-2-22 14:27
有一点小问题:当用户名是QB、密码是789时,登陆后,sheet1不要显示。sheet1是在禁用宏时显示的。

这个小问题自己试着改下,这样才会有进步。
回复

使用道具 举报

 楼主| 发表于 2015-2-22 14:30 | 显示全部楼层
hwc2ycy 发表于 2015-2-22 14:29
这个小问题自己试着改下,这样才会有进步。

可对不懂vba的人来说是个大问题。
回复

使用道具 举报

发表于 2015-2-22 14:47 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub CmdOk_Click()          '单击"确定"按钮的时候执行过程
  2.     Dim sht As Worksheet
  3.     Application.ScreenUpdating = False          '关闭屏幕更新
  4.     Static i As Integer                         '声明一个变量
  5.     '判断用户名和密码是否输入正确
  6.     If CStr(User.Value) = "ABC" And CStr(Password.Value) = "123" Then
  7.         Unload Me                              '关闭登录窗体
  8.         Application.Visible = True             '显示Excel界面
  9.     ElseIf CStr(User.Value) = "ZC" And CStr(Password.Value) = "321" Then
  10.         '显示Excel界面

  11.         Worksheets("支出").Visible = xlSheetVisible
  12.         For Each sht In Worksheets
  13.             If sht.Name <> "支出" Then sht.Visible = xlSheetVeryHidden
  14.         Next
  15.         Unload Me                              '关闭登录窗体
  16.         Application.Visible = True             '显示Excel界面
  17.     ElseIf CStr(User.Value) = "QB" And CStr(Password.Value) = "789" Then

  18.         For Each sht In Worksheets
  19.             sht.Visible = xlSheetVisible
  20.         Next
  21.         Sheet1.Visible = xlSheetVeryHidden
  22.         Unload Me                              '关闭登录窗体
  23.         Application.Visible = True
  24.     Else
  25.         i = i + 1             '密码或用户名输入错误一次,变量i加1
  26.         If i = 3 Then         '如果输错三次执行下面的语句
  27.             MsgBox "对不起,你无权打开工作薄!", vbInformation, "提示"
  28.             ThisWorkbook.Close savechanges:=False            '关闭当前工作薄,不保存更改
  29.         Else                        '如果输错不满三次,执行下面的语句
  30.             MsgBox "输入错误,你还有" & (3 - i) & "次输入机会。", vbExclamation, "提示"
  31.             User.Value = ""                 '清除文字框中的用户名
  32.             Password.Value = ""             '清除文字框中的密码
  33.         End If
  34.     End If
  35.     Application.ScreenUpdating = True           '开启屏幕更新
  36. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-2-22 15:02 | 显示全部楼层
hwc2ycy 发表于 2015-2-22 14:47

谢谢您的热心与耐心!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 17:53 , Processed in 0.410657 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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