我为销售团队准备了一份 Excel 表格。我使用了数据验证、保护单元格等,以确保表格万无一失。(最终我没能成功。)我为他们准备了一个“注释”部分,让他们写下我无法预见的任何内容。他们中的一些人开始将他们的注释写到页眉和页脚部分,而不是使用“注释”框。我如何限制他们编辑页眉和页脚?
答案1
这里有一个选项,当用户点击“保存”时,它会将页眉和页脚恢复为您确定的值。本质上,VBA 代码告诉 Excel 在保存文档之前将页眉和页脚内容设置为某些标准。
首先,您需要打开 VBA 编辑器。打开工作簿后,按 Alt+F11。
双击左侧的“ThisWorkbook”打开新窗口。然后只需复制/粘贴以下信息即可。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
With ws.PageSetup
'Replace the information after the equals sign with what you want.
.LeftHeader = ActiveSheet.Range("A100").Value
'.CenterHeader is the middle of the header. Put any text you want in quotes ""
.CenterHeader = "Header Text"
.RightHeader = ws.Name
.LeftFooter = ActiveWorkbook.Name
'To leave a section blank, just use two quotes like in .CenterFooter
.CenterFooter = ""
.RightFooter = Date & " " & Time
End With
Next ws
'No need to change any of the comments beginning with a '. These will not affect your code
End Sub
在这个例子中,.CenterHeader = "Header Text" 将把中心标题部分恢复为您在“”之间输入的内容。
ws.Name 将工作表的名称放入左页脚。ActiveWorkbook.Name 将文件名放入左页脚。Date & " " & Time 将日期和时间填入右页脚。这将更新用户保存文档的日期和时间。
您可以添加一句话告知用户,在保存时,输入到页眉/页脚中的任何内容都将丢失,请使用注释部分。
不幸的是,我找不到任何东西来“锁定”页眉/页脚以防止其被编辑。
答案2
保护工作簿将阻止对页眉和页脚的更改。您需要格式化单元格以取消对单元格的保护,以便仅允许更改允许用户更改的单元格,并保护您不希望用户更改的单元格。然后,保护工作簿,并且您可以选择对工作簿进行密码保护,以防止用户取消保护。