帐号: 密码:
// 设为首页 // 收藏本站 // 请您留言 // 网址导航
远方教程-满足你的求知欲!
站内搜索:
HTML ASP PHP CSS DIV Dreamweaver Photoshop Word Excel PPT SEO技巧
您当前位置:网站首页 >> Office教程 >> VBA入门教程 >> 阅读文章

一周学会VBA第四天:模块化编程

来源:远方教程 作者:远方教程 发布时间:2014-12-01 查看次数:10447 访问[新版]

  4.8 疑难解答

  1.如果希望在多个位置使用变量的数据,应该在何处定义该变量?

  答:必须在模块顶部的“通用声明”区域内定义。对于模块级变量用Dim语句,对于公共级变量用Public语句

  2.模块是否独立于工作簿?

  答:不,实际上模块是工作簿的一部分,当保存工作簿时,对模块所做的改变也同时保存下来.

  3.为什么不应该将所有变量定义为Variant数据类型?

  答:Variant类型的数据,占用较多的内存,并且影响应用程序的性能.

  第五课" 利用VBA设置工作表使用权限 Excel Home 一般保护工作表采取的方法是用EXCEL菜单中的“保护”命令,有时这尚嫌不足,比如一些机密文件根本要让某些使用者无法看到,但又需要他来操作工作簿中的其他表,怎么办? 可以打开VBA编辑器,打开“工程资源管理器”,双击该工作表,现在出现的是设置该表的属性的编辑窗口,单击窗口左上的下拉列表框,选择worksheet ,这时再从该窗口右上方的列表框中选择Active(“激活”),这时自动显示如下的语句块:
Private Sub Worksheet_Activate()

End Sub
在其中加入代码:(假设用"123"作为密码,Sheet"机密文档"为限制权限文
档,sheet"普通文档"为工作簿中你认为任何适合的工作表)

If Application.InputBox("请输入操作权限密码:") = 123 Then
Range("A1").Select
Else
Msgbox "密码错误,即将退出!"
Sheets("普通文档").Select
End if

程序如下:

Private Sub Worksheet_Activate()
If Application.InputBox("请输入操作权限密码:") = 123 Then
Range("A1").Select
Else
MsgBox "密码错误,即将退出!"
Sheets("普通文档").Select
End If
End Sub

  这样做仍有一个问题,就是越权使用者仍会看到一些文件的片段,即在提示密码的那段时间。好,你可以这样做,用上述方法选择工作表的Deactivate事件,输入以下代码:

Sheets("机密文档").Cells.Font.ColorIndex = 2

  这段程序使得此工作表在不被激活时,所有文字为白色。然后,在第一个程序中的Range("A1").Select后插入一行,写入以下代码:
ActiveSheet.Cells.Font.ColorIndex = 56
这段程序,在你输入正确密码后,将该表所有文字转变为深灰色。

  完整的程序如下:

Private Sub Worksheet_Activate()
If Application.InputBox("请输入操作权限密码:") = 123 Then
Range("A1").Select
Sheets("机密文档").Cells.Font.ColorIndex = 56
Else
MsgBox "密码错误,即将退出!"
Sheets("普通文档").Select
End If

打印 打印 | 关闭 关闭 评论
相关文章
图片新闻
站内搜索  
搜索
猜您喜欢  
最新更新  
阅读排行  
关于我们 | 联系方式 | 大事记 | 免责声明 | | 给我留言
部分广告源自金山联盟2345联盟 QQ咨询 站长之家QQ群:232617873
Copyright 2024 远方教程 © All Rights Reserved.

回顶部