<p>一、</p><p>Dim mm</p><p>rivate Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)<br/>MsgBox "本文档不能修改"<br/>Application.EnableEvents = False<br/>Target.Value = mm<br/>Application.EnableEvents = True<br/>End Sub<br/><font color="#ff0000">rivate Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)<br/>mm = ActiveCell.Value</font></p><p>End Sub</p><p>这是书中的一个例子,防止单元格内容被修改。请注意红色部分,即只有当单元格的选择发生变化以后才能激活“MM=activecell.value"运行,也就是只有当单元格选择发生变化以后"MM"才有值赋予它,如果我打开工作表,直接修改当前单元格内容,那MM就是“”,当前单元格就无法恢复了,您说是吗。</p><p>二、</p><p>rivate Sub Worksheet_Activate()<br/>If Sheets(1).Name Like "sheet1" Then<br/>Sheets(1).Select<br/>Else<br/>Sheets(2).Select<br/>End If<br/>End Sub</p><p>这是书中98页的例子,要求打开工作簿时,sheet1工作表不允许查看。可这个代码放进去没有效果,我想是不是弄错了,您的本意应该是这样的吧:</p><p>rivate Sub Worksheet_Activate()<br/>If Sheets(1).Name Like "sheet1" Then<br/>Sheets(2).Select<br/>Else<br/>Sheets(1).Select<br/>End If<br/>End Sub</p><p> </p><p>请兰版指教</p>