每月工作表(Microsoft Excel)
当您开始一个新的工作簿时,通常在一年的不同月份之后给每个工作表命名。如果您做了很多,您就会知道将每个工作表依次重命名为所需的内容可能很麻烦。
开发了以下宏来在这些情况下提供帮助。它检查工作簿中工作表的名称,如果它们以字母“ Sheet”开头,则将它们重命名为一年中的几个月。如果工作簿中没有足够的工作表,则它会根据需要在一年中的每个月添加工作表。
Sub DoMonths() Dim J As Integer Dim K As Integer For J = 1 To 12 If J <= Sheets.Count Then If Left(Sheets(J).Name, 5) = "Sheet" Then Sheets(J).Name = MonthName(J) Else Sheets.Add.Move after:=Sheets(Sheets.Count) ActiveSheet.Name = MonthName(J) End If Else Sheets.Add.Move after:=Sheets(Sheets.Count) ActiveSheet.Name = MonthName(J) End If Next J For J = 1 To 12 If Sheets(J).Name <> MonthName(J) Then For K = J + 1 To Sheets.Count If Sheets(K).Name = MonthName(J) Then Sheets(K).Move Before:=Sheets(J) End If Next K End If Next J Sheets(1).Activate End Sub
宏的最后一步是,在第1到第12个月中,按正确的顺序放置了工作表。结果是,如果工作簿中还有其他工作表(换句话说,您有一些工作表并非以
|注意,该宏利用VBA内置的MonthName函数,并返回12个月后的工作表的末尾。传递给它的月份的全名(由数字(1到12)表示)(如果尝试使用超出该范围的数字,则会返回错误。)
| _注意: _
|如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)上描述的宏,我准备了一个特殊页面,其中包含有用的信息。链接:/ excelribbon-ExcelTipsMacros [单击此处在新的浏览器选项卡中打开该特殊页面]。
| _ExcelTips_是您的具有成本效益的Microsoft Excel培训的资源。
本技巧(11148)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本:
链接:/ excel-Sheets_for_Months [Sheets for Months]。