不同用户依权限查看不同工作表的VBA实现_第1页
不同用户依权限查看不同工作表的VBA实现_第2页
不同用户依权限查看不同工作表的VBA实现_第3页
不同用户依权限查看不同工作表的VBA实现_第4页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.不同用户依权限查看不同工作表的VBA 实现(登录窗口1)(登录窗口2).专业资料 .(登录窗口3)(模块 1 代码窗口 ).专业资料 .This workbook代码窗口代码如下 :Private Sub Workbook_Open()Application.Visible = FalseUserForm1.Show 1End SubPrivate Sub Workbook_BeforeClose(Cancel As Boolean)On Error Resume NextApplication.DisplayAlerts = FalseFor Each sht In WorksheetsI

2、f sht.Name Worksheets(1).Name Thensht.Visible = 2End IfNext.专业资料 .ThisWorkbook.SaveAs ThisWorkbook.Path & & ThisWorkbook.Name, ,Password:=123456, WriteresPassword:=excel2010Me.Saved = TrueApplication.DisplayAlerts = TrueEnd Sub(登录窗口绘制).专业资料 .(登录窗口属性设置).专业资料 .( Userform1代码窗口 ).专业资料 .(登录系统按钮属性设置).专业资料

3、 .(退出系统按钮属性设置)其它控件属性设备略Userform1 (登录窗口 )代码 :Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)Application.QuitThisWorkbook.Close FalseEnd Sub.专业资料 .Private Sub CommandButton2_Click() 关闭系统UserForm1.HideApplication.QuitThisWorkbook.Close FalseEnd SubPrivate Sub UserForm_Activate(

4、)TextBox1.Text = If ComboBox1.ListCount 0 Then Exit Sub复合框中的条目数大于0 时不继续执行 。 如无此句,会导致出现重复用户名下拉列表。t = Array(管理员 , 受限用户A, 受限用户B)For i = 0 T o 2Controls(ComboBox1).AddItem t(i)Next iEnd SubPrivate Sub CommandButton1_Click()登录按钮If ComboBox1.Text = 管理员 And TextBox1.Text = admin ThenDim i%For Each sht In W

5、orksheets.专业资料 .sht.Visible = TrueNextMsgBox 管理员登录成功TextBox1.Text = Application.Visible = TrueUserForm1.HideElseIf ComboBox1.Text = 受限用户A And TextBox1.Text = 123 ThenWorksheets(2).Visible = TrueWorksheets(3).Visible = 2Worksheets(4).Visible = 2MsgBox 登录成功 Application.Visible = TrueTextBox1.Text = Us

6、erForm1.HideElseIf ComboBox1.Text = 受限用户B And TextBox1.Text = 456 ThenWorksheets(3).Visible = TrueWorksheets(4).Visible = TrueWorksheets(2).Visible = 2MsgBox 登录成功 Application.Visible = True.专业资料 .TextBox1.Text = UserForm1.HideElseMsgBox 输入错误 ! TextBox1 = End IfEnd SubPrivate Sub TextBox1_KeyDown(ByV

7、al KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 输入完毕回车If KeyCode = 13 ThenIf ComboBox1.Text = 管理员 And TextBox1.Text = admin ThenDim i%For Each sht In Worksheetssht.Visible = TrueNextMsgBox 管理员登录成功Application.Visible = TrueUserForm1.Hide.专业资料 .ElseIf ComboBox1.Text = 受限用户A And TextBox1.T

8、ext = 123 ThenWorksheets(2).Visible = TrueWorksheets(3).Visible = 2Worksheets(4).Visible = 2MsgBox 登录成功 Application.Visible = TrueUserForm1.HideElseIf ComboBox1.Text = 受限用户B And TextBox1.Text = 456 ThenWorksheets(3).Visible = TrueWorksheets(4).Visible = TrueWorksheets(2).Visible = 2MsgBox 登录成功 Appli

9、cation.Visible = TrueUserForm1.HideElseMsgBox 输入错误 ! TextBox1 = End IfEnd IfEnd Sub.专业资料 .相关参考代码(含注释 ):Private Sub CommandButton1_Click() 确定Dim sht As WorksheetApplication.EnableEvents = False 禁用所有事件cname = ComboBox1.Value 获得用户名cno = WorksheetFunction.Match(cname, Sheets(设置 ).Range(a1:a & r), 0)用户所在

10、行If cname = Sheets(设置 ).Range(a & cno).Value And Password = Sheets(设置 ).Range(B &cno).Value Then 密码对Unload passIf cno = 2 Then 是管理员For Each sht In Worksheets.专业资料 .sht.Visible = True 显示全部表单NextElse 是一般用户sw = 0s = Sheets( 设置 ).Range(C & cno)For Each sht In WorksheetsIf sht.Name = s ThenSheets(s).Visi

11、ble = True 显示sw = 1Sheets( 登录 ).Visible = FalseEnd IfNextIf sw = 0 Then MsgBox 没有你可以看的工作表,去找管理员更正End IfElse 密码不对j = j - 1If j 0 ThenMsgBox 密码不对 。还可以输入 & j & 次。 TextBox1.Text = ElseUnload passMsgBox 密码不对 。你已经试了3 次了 。 再见! .专业资料 .End IfEnd IfApplication.EnableEvents = True 用所有事件End SubPrivate Sub TextBox1_Change()Password = TextBox1.Text 获得密码End SubPrivate Sub UserForm_Initialize()r = Sheets(设置 ).Range(A65536).End(xlUp).Row 用户最后行For i = 2 To r增加用户名Me.ComboBox1.A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论