保存后 保护 第1个工作表 有数据的单元格一、编辑工作簿Workbook_BeforeSave事件的代码Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If ***.name <> Sheets(1).Name Then Exit Sub ***.enableevents = False ***.unprotect activesheet.***.locked = False activesheet.***.formulahidden = False activesheet.***.specialcells(xlCellTypeConstants, 23).Locked = True activesheet.***.specialcells(xlCellTypeFormulas, 23).Locked = True activesheet.***.specialcells(xlCellTypeFormulas, 23).FormulaHidden = True ***.protect DrawingObjects:=True, Contents:=True, Scenarios:=True ***.enableselection = xlUnlockedCells ***.enableevents = TrueEnd Sub二、保存1、新建工作簿在第1个工作表输入至少1个数据——保存——工作簿名——启用宏的工作簿——保存2、原有工作簿(第1个工作表有数据)另存为——启用宏的工作簿——保存三、编辑第1个工作表Worksheet_SelectionChange事件的代码Private Sub Worksheet_SelectionChange(ByVal Target As Range) ***.protect DrawingObjects:=True, Contents:=True, Scenarios:=True ***.enableselection = xlUnlockedCellsEnd Sub四、代码加密打开工程属性对话框设置密码