Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 我可以使用来自标题的用户输入自动填充其他标题吗?_Excel - Fatal编程技术网

Excel 我可以使用来自标题的用户输入自动填充其他标题吗?

Excel 我可以使用来自标题的用户输入自动填充其他标题吗?,excel,Excel,我有一个工作簿,里面有十个不同的电子表格。每个电子表格都有一个标题,其格式如下:“项目名称-电子表格名称-修订日期:” 例如,示例电子表格标题应如下所示: "Test Project - Form 1 - Revision Date: " "Test Project - Form 2 - Revision Date: " "Test Project - Form 3 - Revision Date: " 等等 我想通过只让用户键入一次“项目名称”来适应用户,然后它会用该值自动填充其余的标题。我

我有一个工作簿,里面有十个不同的电子表格。每个电子表格都有一个标题,其格式如下:“项目名称-电子表格名称-修订日期:”

例如,示例电子表格标题应如下所示:

"Test Project - Form 1 - Revision Date: "
"Test Project - Form 2 - Revision Date: "
"Test Project - Form 3 - Revision Date: "
等等


我想通过只让用户键入一次“项目名称”来适应用户,然后它会用该值自动填充其余的标题。我知道用单元格可以很容易地完成,但我对Excel不是很有经验。这可以通过标题来完成吗?

使用一个输入单元格让用户输入项目名称,然后命名该单元格,比如“项目名称”

接下来,对于电子表格中的每个标题,输入以下公式:

= Project_Name & " - Form XX - Revision Date: "
(显然,更改表格编号的“XX”)


希望这有意义。

如果您指的是只能在布局视图和打印预览中看到的标题,则不能使用简单的excel函数进行设置。您应该在宏中执行此操作

如果在单元格A1中存储项目名称,在单元格B1中存储修订日期,则可以在同一张图纸上放置按钮。按钮的文本可以是“填充标题”,它将运行的宏是以下代码:

Sub FillHeaders()

    For Each wSheet In ActiveWorkbook.Worksheets

        If wSheet.Name <> "Cover Page" Then

            wSheet.PageSetup.CenterHeader = _
                ActiveSheet.Range("A1") & " - " & _
                wSheet.Name & " - Revision date: " & _
                ActiveSheet.Range("B1")

        End If

    Next wSheet

End Sub
Sub-FillHeaders()
对于ActiveWorkbook.工作表中的每个工作表
如果wSheet.Name为“封面”,则
wSheet.PageSetup.CenterHeader=_
活动页范围(“A1”)和“-”和_
wSheet.Name&“-修订日期:&”_
活动页范围(“B1”)
如果结束
下一页
端接头

这将遍历所有页面(名为“封面”的页面除外),并将中心标题设置为所需的文本。由于ActiveWorksheet是您按下按钮的位置,因此标题文本中将使用该工作表中的A1和B1单元格

谢谢,这绝对有道理。但是,当我尝试此操作时,它只将代码段作为文本放置在我的页眉中。公式在页眉中起作用吗?很抱歉,我没有在我的原始帖子中澄清,我确实希望自动将项目名称插入页面标题,而不是列标题。对不起,我误解了你的问题。非常感谢,这非常有效。是否有任何方法可以使用VB格式化文本,或者必须手动完成?您可以使用列出的格式化代码格式化文本。格式代码应位于文本之前。例如,要将其加粗,必须将代码的第一行更改为:
wSheet.PageSetup.CenterHeader=“&B”&
。非常感谢。这是我第一次使用VBA。很有趣。最后一个问题,是否有方法跳过工作簿中的第一个工作表,或添加检查工作表名称的if语句?我有一个名为“封面”的封面,我不想将标题应用到它。