不同用户依权限查看不同工作表的VBA实现.docx

上传人:b****6 文档编号:7320336 上传时间:2023-01-22 格式:DOCX 页数:12 大小:496.56KB
下载 相关 举报
不同用户依权限查看不同工作表的VBA实现.docx_第1页
第1页 / 共12页
不同用户依权限查看不同工作表的VBA实现.docx_第2页
第2页 / 共12页
不同用户依权限查看不同工作表的VBA实现.docx_第3页
第3页 / 共12页
不同用户依权限查看不同工作表的VBA实现.docx_第4页
第4页 / 共12页
不同用户依权限查看不同工作表的VBA实现.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

不同用户依权限查看不同工作表的VBA实现.docx

《不同用户依权限查看不同工作表的VBA实现.docx》由会员分享,可在线阅读,更多相关《不同用户依权限查看不同工作表的VBA实现.docx(12页珍藏版)》请在冰豆网上搜索。

不同用户依权限查看不同工作表的VBA实现.docx

不同用户依权限查看不同工作表的VBA实现

不同用户依权限查看不同工作表的VBA实现

 

(登录窗口1)

(登录窗口2)

 

(登录窗口3)

(模块1代码窗口)

Thisworkbook代码窗口

代码如下:

PrivateSubWorkbook_Open()

Application.Visible=False

UserForm1.Show1

EndSub

PrivateSubWorkbook_BeforeClose(CancelAsBoolean)

OnErrorResumeNext

Application.DisplayAlerts=False

ForEachshtInWorksheets

Ifsht.Name<>Worksheets

(1).NameThen

sht.Visible=2

EndIf

Next

ThisWorkbook.SaveAsThisWorkbook.Path&"\"&ThisWorkbook.Name,,Password:

="123456",WriteresPassword:

="excel2010"

Me.Saved=True

Application.DisplayAlerts=True

EndSub

 

(登录窗口绘制)

(登录窗口属性设置)

 

(Userform1代码窗口)

(登录系统按钮属性设置)

(退出系统按钮属性设置)

其它控件属性设备略……

Userform1(登录窗口)代码:

PrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAsInteger)

Application.Quit

ThisWorkbook.CloseFalse

EndSub

PrivateSubCommandButton2_Click()'关闭系统

UserForm1.Hide

Application.Quit

ThisWorkbook.CloseFalse

EndSub

PrivateSubUserForm_Activate()

TextBox1.Text=""

IfComboBox1.ListCount>0ThenExitSub'复合框中的条目数大于0时不继续执行。

如无此句,会导致出现重复用户名下拉列表。

t=Array("管理员","受限用户A","受限用户B")

Fori=0To2

Controls("ComboBox1").AddItemt(i)

Nexti

EndSub

PrivateSubCommandButton1_Click()'登录按钮

IfComboBox1.Text="管理员"AndTextBox1.Text="admin"Then

Dimi%

ForEachshtInWorksheets

sht.Visible=True

Next

MsgBox"管理员登录成功"

'TextBox1.Text=""

Application.Visible=True

UserForm1.Hide

ElseIfComboBox1.Text="受限用户A"AndTextBox1.Text="123"Then

Worksheets

(2).Visible=True

Worksheets(3).Visible=2

Worksheets(4).Visible=2

MsgBox"登录成功"

Application.Visible=True

'TextBox1.Text=""

UserForm1.Hide

ElseIfComboBox1.Text="受限用户B"AndTextBox1.Text="456"Then

Worksheets(3).Visible=True

Worksheets(4).Visible=True

Worksheets

(2).Visible=2

MsgBox"登录成功"

Application.Visible=True

'TextBox1.Text=""

UserForm1.Hide

Else

MsgBox"输入错误!

"

TextBox1=""

EndIf

EndSub

 

PrivateSubTextBox1_KeyDown(ByValKeyCodeAsMSForms.ReturnInteger,ByValShiftAsInteger)'输入完毕回车

IfKeyCode=13Then

IfComboBox1.Text="管理员"AndTextBox1.Text="admin"Then

Dimi%

ForEachshtInWorksheets

sht.Visible=True

Next

MsgBox"管理员登录成功"

Application.Visible=True

UserForm1.Hide

ElseIfComboBox1.Text="受限用户A"AndTextBox1.Text="123"Then

Worksheets

(2).Visible=True

Worksheets(3).Visible=2

Worksheets(4).Visible=2

MsgBox"登录成功"

Application.Visible=True

UserForm1.Hide

ElseIfComboBox1.Text="受限用户B"AndTextBox1.Text="456"Then

Worksheets(3).Visible=True

Worksheets(4).Visible=True

Worksheets

(2).Visible=2

MsgBox"登录成功"

Application.Visible=True

UserForm1.Hide

Else

MsgBox"输入错误!

"

TextBox1=""

EndIf

EndIf

EndSub

 

相关参考代码(含注释):

PrivateSubCommandButton1_Click()'确定

DimshtAsWorksheet

Application.EnableEvents=False'禁用所有事件

cname=ComboBox1.Value'获得用户名

cno=WorksheetFunction.Match(cname,Sheets("设置").Range("a1:

a"&r),0)'用户所在行

Ifcname=Sheets("设置").Range("a"&cno).ValueAndPassword=Sheets("设置").Range("B"&cno).ValueThen'密码对

Unloadpass

Ifcno=2Then'是管理员

ForEachshtInWorksheets

sht.Visible=True'显示全部表单

Next

Else'是一般用户

sw=0

s=Sheets("设置").Range("C"&cno)

ForEachshtInWorksheets

Ifsht.Name=sThen

Sheets(s).Visible=True'显示

sw=1

Sheets("登录").Visible=False

EndIf

Next

Ifsw=0ThenMsgBox"没有你可以看的工作表,去找管理员更正"

EndIf

Else'密码不对

j=j-1

Ifj<>0Then

MsgBox"密码不对。

还可以输入"&j&"次。

"

TextBox1.Text=""

Else

Unloadpass

MsgBox"密码不对。

你已经试了3次了。

再见!

"

EndIf

EndIf

Application.EnableEvents=True'用所有事件

EndSub

PrivateSubTextBox1_Change()

Password=TextBox1.Text'获得密码

EndSub

PrivateSubUserForm_Initialize()

r=Sheets("设置").Range("A65536").End(xlUp).Row'用户最后行

Fori=2Tor'增加用户名

Me.ComboBox1.AddItemSheets("设置").Cells(i,1).Value

Nexti

Me.ComboBox1.SetFocus

ComboBox1.Value=Sheets("设置").Range("A2").Value'默认用户

EndSub

PrivateSubCommandButton3_Click()'退出

Unloadpass

EndSub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1