在工作簿中跟踪一种或另一种每月信息并不罕见。您可能正在跟踪费用,销售,库存变动,股票价格或其他任何一千种事物。当您开始一个新的月份时,您可以复制上个月的工作簿,然后寻找一种方法来更改在新创建的副本中各个位置出现的月份名称。

如果要更改的月份名称以文本形式存储在各个工作表中,则可以使用Excel的查找和替换功能进行更改。只需执行以下步骤:

。单击要在其中进行更改的第一个工作表的选项卡。

。在最后一个工作表的选项卡上单击时,按住Shift键。您现在应该选择所有要更改的工作表。

。按Ctrl + H以显示“查找和替换”对话框的“替换”选项卡。

。在“查找内容”框中,输入上个月的名称。

。在“替换为”框中,输入新月份的名称。

。单击全部替换。

。关闭查找和替换对话框。

如果这些步骤没有更改工作簿中显示的特定月份名称,则可能是因为该月份名称实际上不是文本,而是日期格式设置为仅显示月份。在这种情况下,您将无法使用“查找并替换”;相反,您必须简单地更改存储在单元格中的日期值。

如果您想要一种快速的方法来更改工作表选项卡中的月份名称,那会比较棘手。 Excel的“查找和替换”功能将无法找到或替换选项卡名称中的文本。通常,它们需要手工完成,但是如果有很多,您可能想要创建一个宏来为您做更改。下面的宏提示您输入要搜索的文本以及您要替换为的文本。然后,它逐步浏览每个工作表选项卡并为您进行更改。

Sub TabReplace()

Dim I As Integer, J As Integer     Dim sFind As String     Dim sReplace As String     Dim sTemp As String

sFind = InputBox("Text to find?")

sReplace = InputBox("Replace it with?")



If (sFind & sReplace) = "" Then Exit Sub

For I = 1 To Sheets.Count         sTemp = Sheets(I).Name         J = InStr(sTemp, sFind)

While J > 0             sTemp = Left(sTemp, J - 1) & sReplace _               & Mid(sTemp, (J + Len(sFind)))

J = InStr(sTemp, sFind)

Wend

If sTemp <> Sheets(I).Name Then             Sheets(I).Name = sTemp         End If     Next I End Sub

即使此处介绍的步骤(和宏)可以使更新工作簿的工作变得容易,但是重新思考工作簿的方式可能更容易。设置一个包含当前月份名称的单元格,然后在整个工作簿的相应单元格中引用该名称可能会更容易。然后,您要做的就是在一个单元格中更改月份名称,它将自动在其他位置更改。在其他_ExcelTips_中,您甚至学习了如何根据特定单元格的内容动态更改选项卡名称。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2748)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: