VBA 中怎么只保护指定的单元格或者列

VBA 可以保护一个Workbook,但是目的是保护指定的列,或者保护整个Book但是有2列不保护 如 A列和B列,
还一个问题,我只想保护指定的单元格,我该怎么做?
希望指教,谢谢

两种方法:
法一:
你可以按如下步骤录制一个宏看看:
1、选定所有单元格,点“格式/单元格”,点“保护”,清除“锁定”前面的“√”。
2、选定你需要锁定的单元格区域,点“格式/单元格”,点“保护”,在“锁定”前面加上“√”。
3、点“工具/保护/保护工作表”,输入两次密码即可。

一个例子:
With Worksheets("test")
.Cells.Locked = False
.Cells.FormulaHidden = False
.Range("A:A,D:D").Locked = True '锁住A列与D列
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With

保护除A列和B列外的整个Book,要用到反向选择的技巧。请参见下面参考资料的链接。

法二:
使用worksheet的selectionChange事件,在用户点击需要保护的单元格区域时立即跳转到其他单元格。具体请参考:
http://www.officefans.net/cdb/viewthread.php?tid=87056

参考资料:http://club.excelhome.net/thread-11321-1-1.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-03
选中A列和B列,设置单元格属性,去掉保护选项卡中的勾;
保护工作表,设置密码:工具-保护-保护工作表。
第2个回答  2010-03-02
cells(a,b).lock=false
相似回答