![在 Excel 中创建页眉和页脚的自定义部分](https://linux22.com/image/1427910/%E5%9C%A8%20Excel%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E9%A1%B5%E7%9C%89%E5%92%8C%E9%A1%B5%E8%84%9A%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E9%83%A8%E5%88%86.png)
我有一张包含多张工作表的电子表格。我希望在每个工作表的每个打印页面上都包含一些我在文档中定义的字段的引用。
更具体地说,我希望在标题中包含版本号和批准日期。并且我希望能够在第一个工作表中的单元格中指定这些值。
我希望做得更聪明,因为手动更新是一项繁琐的工作,而且容易出错。
我正在尝试创建类似于 Word 中的快速部件功能。但我不知道该怎么做。
我曾尝试引用命名单元格,但由于页眉和页脚字段不是单元格,因此似乎不可能。我在网上搜索过“创建自定义页眉和页脚元素”以及类似内容,但只找到了有关如何使用“现成元素”的参考。此外,Excel 中似乎没有 Word 中那样的“快速部件”概念(这很遗憾,因为这些东西真的让我感觉自己像个超级用户……
由于我并不是一个超级用户,所以我还没有考虑创建一个可以解决我的问题的宏,但如果可以的话,我愿意尝试一下。
那么,有什么建议吗?
答案1
Google 告诉我这必须使用 VBA 来完成:
http://excel.tips.net/T002522_Putting_Cell_Contents_in_Footers.html
答案2
在 Scott Harris 的帮助下,我在第一张工作表上创建了一个名为“更新标题”的按钮,然后从命名单元格中选择了我想要创建文本的单元格,然后循环遍历所有工作表并更新它们。
Sub Update_header()
Dim WS As Worksheet
Dim HeaderText As String
HeaderText = Sheet1.Range("F5").Text & " " & Sheet1.Range("C2").Text & Chr(10) & _
Sheet1.Range("E2").Text & " " & Sheet1.Range("F2").Text & Chr(10) & _
Sheet1.Range("B4").Text & " " & Sheet1.Range("C4").Text
For Each WS In Worksheets
WS.PageSetup.RightHeader = HeaderText
Next
End Sub
刚开始时,我尝试在离开工作表时更新工作簿中的所有工作表,其中我已更新了标题中所需的文本。但性能太差了,所以我决定使用按钮,然后手动启动更新。
答案3
从 '页面布局在功能区中,选择“打印标题',然后选择'页眉页脚' 标签。
这提供了您想要的自定义功能。
如果愿意,您可以在此处从文档属性插入字段。