EXCEL VBA 登录界面程序源代码

EXCEL VBA 登录界面程序源代码

ID:38701717

大小:590.03 KB

页数:12页

时间:2019-06-17

EXCEL VBA 登录界面程序源代码_第1页
EXCEL VBA 登录界面程序源代码_第2页
EXCEL VBA 登录界面程序源代码_第3页
EXCEL VBA 登录界面程序源代码_第4页
EXCEL VBA 登录界面程序源代码_第5页
资源描述:

《EXCEL VBA 登录界面程序源代码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、在工作中可能遇到这种情况,就是有一个录入工作需要多人协同完成,每个人所要录入的部份又不相同,于是就在同一个EXCEL工作簿中建立多个工作表,当某一个人录入时,只打开他需要操作的那个工作表,其他工作表自动隐藏起来,防止被误操作。我看到网上有不少朋友在找有这个功能的表格,于是就试着做了一个,跟大家分享一下。注意:由于EXCEL的VBA安全性非常低,网上有很多破解的方法,所以对那些数据安全性要求较高的请不要用这种方法。一、表格部份这个工作簿中有多个工作表,分成三类。第一类:工作簿的第一个工作表,里面没有数据,只用于显示登录窗口,起名为“登录”。由于

2、在VBA代码中要调用这个工作表,在实际使用时,这个名字不要改动。第二类:工作簿的第二个工作表,里面存储了各登录人员的姓名、登录密码以及各人要操作的工作表(权限),起名为“设置”,这个工作表的名字同样不要修改,里面的数据位置也不要改动。第三类:工作簿的第三及以后的工作表,这些表都是登录人员要操作的表格,应根据自己的需要设置,我为了介绍方便,给他们起名为“表一”、“表二”、...,可以添加多个,表的名字也可任意。在做上面这些表时,只要注意“登录”表的名字不要改、“设置”表的名字与数据位置不要改,其他部份可随意。提示:如果非要改变“登录”表与“设置

3、”表的名字,必须在EXCEL中改名后,把VBA代码中相关的名字也改过来才能正常使用。二、VBA部份上面表格部份完成后,就需要做VBA代码了,在EXCEL窗口按ALT+F11调出VBA窗口。1、登录窗体在工具栏中按“插入-用户窗体”,添加一个窗体。将插入的窗体调整到适当大小。2、代码在所添加的窗体上双击鼠标,然后把下面代码粘贴进去:PrivateSubCommandButton1_Click()OnErrorGoTo10'当姓名与密码不对应时,会出现错误,转到10语句处理DimnAsStringSetsh=Sheets("设置")na=Text

4、Box1.Text:ps=TextBox2.Text'取得登录窗口中的姓名与密码Ifna=""Orps=""ThenMsgBox"未输入用户名或密码,不能登录",,"提示":ExitSubs=WorksheetFunction.Match(na,sh.[a:a],0)'查找用户在A列的位置n=sh.Cells(s,2)'取出“设置”表中的权限密码,字符型Ifn<>psThenGoTo10Call隐藏表'检查一下“设置”表的C列及右边各格中的内容,有内容的,说明可以打开内容所指定的工作表Fori=4To255b=sh.Cells(s,i).Va

5、lueIfb=1Andsh.Cells(1,i)<>""Then'单元格为1时,表示有权限打开这个表,就让它显示出来Sheets(sh.Cells(1,i).Value).Visible=-1EndIfNextUnloadUserForm1'退出窗体ExitSub10:MsgBox"姓名或密码错误,不能登录",,"提示"EndSubSub隐藏表()TextBox1.Text="":TextBox2.Text=""Fori=1ToWorksheets.CountIfSheets(i).Name<>"登录"ThenSheets(i).Visibl

6、e=2ElseSheets(i).Visible=-1'只让“登录”表显示出来EndIfNextEndSubPrivateSubCommandButton2_Click()Call隐藏表EndSubPrivateSubUserForm_Activate()'窗体出现在屏幕上的位置Me.Top=220Me.Left=120EndSub代码中都做了注释,看不明白也不影响使用,只要粘贴上就行了。再用鼠标双击左侧的thisworkbook模块,把下面代码粘贴上去。PrivateSubWorkbook_BeforeClose(CancelAsBoole

7、an)CallUserForm1.隐藏表ActiveWorkbook.Save'保存当前工作簿文档EndSubPrivateSubWorkbook_Open()CallUserForm1.隐藏表UserForm1.Show'加载登录窗体EndSub再用鼠标双击左侧“设置”表模块,把下面代码粘贴上去。PrivateSubWorksheet_Activate()'将各工作表的名字填入第一行中Fori=2ToWorksheets.CountCells(1,i+2)=Sheets(i).NameNextEndSub再用鼠标双击左侧“登录”表模块,把下

8、面代码粘贴上去。最后给VBA加上一个保护密码,防止其他人员改动代码。按“工具-VBAProject属性”,调出“VBAProject”属性窗口,选“保护”选项卡,按

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。