office 2007 Excel 如何能锁定表格无法修改,但可以添加数据!

例如一个二维表: A B C D E F 1数值 数值 数值 数值 数值 数值 2数值 数值 数值 数值 数值 数值 3数值 数值 数值 数值 数值 数值 4数值 数值 数值 数值 数值 数值 5数值 数值 数值 数值 数值 数值 6数值 数值 数值 数值 数值 数值 7 8 所有已经添加的数值不得修改 但可以在第7行添加数值,添加完后第7行也被自动锁定,第8行才能添加数值 以此类推!! 如何设置请高手明示!!3Q

第1个回答  2014-06-24
先确保A1到F1有内容。得用宏。右键点该工作表的名字(在左下方,如Sheet1),查看代码,粘贴如下代码: Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Unprotect "x1y2b9" Cells.Locked = True ActiveSheet.Protect "x1y2b9" End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim xRng As Range Set xRng = Target.Range("A1") If xRng.Column < 8 And xRng.Offset(-1, 0) <> "" And xRng = "" Then ActiveSheet.Unprotect "x1y2b9" xRng.Locked = False ActiveSheet.Protect "x1y2b9" End If End Sub 回到Excel,实现如下功能: 鼠标点任意一单元格,如果在A到F列,且其上面有格有内容,且本身没内容,该单元格取消保护,可以输入数据; 一旦输入数据,所有单元格设定保护,并保护工作表,无法修改。 如果用户在打开Excel时选择禁用宏,该功能就被禁用了。如果你担心这种情况,可以继续如下操作: 确保除了这个有用的工作表(假设这张表叫”数据“,如果不是的话,修改下面的代码)外,还有个叫”首页“的空白工作表,里面可以写上”请启用宏,否则看不到有用的工作表!“这样类似的话。同时按Alt和F11进入宏界面,在左上窗口可以找到本工作簿的名字,双击里面的ThisWorkbook,在右边粘贴如下代码: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim i As Byte Dim xSJ, xSY As Boolean xSJ = True xSY = True For i = 1 To Sheets.Count If Sheets(i).Name = "数据" Then xSJ = False If Sheets(i).Name = "首页" Then xSJ = False Next If xSJ Or xSY Then MsgBox "必须有" & IIf(xSJ, "数据", "首页") & "这个工作表!" Cancel = True Exit Sub End If Sheets("数据").Visible = 2 End Sub Private Sub Workbook_Open() Sheets("数据").Visible = -1 End Sub 存盘退出。这样下次打开这个工作簿,如果不启用宏,看不得“数据”。启用宏可以看到。存盘时自动隐藏“数据”。这种隐藏,用“取消工作表隐藏”看不到的。
第2个回答  2014-06-24
这个功能不好实现。。太自动了。 只能用VBA编程去实现,有点复杂。。 我没有时间去帮你写程序。。只能告诉你这么回事了。。本回答被提问者采纳
相似回答