使工作表只能被VBA修改

RT
VBA_应用于 Worksheet 对象的 Protect 方法

作者:tchimo 2010-01-28 11:30 星期四 晴
  应用于 Worksheet 对象的 Protect 方法编辑本段回目录Worksheet 对象的 Protect 方法的功能为保护工作表使其不至被修改。
  
  
  语法
  
  expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
  
  UserInterfaceOnly Variant 类型,可选。如果为 True,则保护用户界面,但不保护宏。如果省略本参数,则保护既应用于宏也应用于用户界面。
  

自己解决了

第1个回答  2012-02-02
菜单——》工具——》保护——》保护工作表

请问我怎么就不对了?还显然。。。。。
保护之后用户只能通过控件、自定义form、sheet事件等方式调用VBA修改数据,这不就是你要求的吗?要说我不对,不如说你问题没描述清楚!追问

你测试下就知道了,无法修改

第2个回答  2012-02-04
这个代码供参考:------控制某一单元格不可编辑修改

Private Sub Workbook_Open()
ProtectSpecialRange ("A1")
End Sub

Sub ProtectSpecialRange(RangeAddress As String)
On Error Resume Next

With Sheet1
.Cells.Locked = False
.Range(RangeAddress).Locked = True
.Protection.AllowEditRanges.Add Title:="区域1", Range:=Range(RangeAddress) _
, Password:="pass"
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With

End Sub
第3个回答  2012-02-01
深度隐藏一下,让visible的属性为2.然后在工程属性里面设置一个密码,这样一来就无法看到也不能修改。若使用的时候,只能通过VB工程中解除密码才可以使用,不知道是否帮到你追问

我想让用户只能看,不能改,有没有什么属性设置一下直接实现?

本回答被提问者采纳
第4个回答  2012-02-02
2楼貌似有点道理