使用从各个列中提取的月份重命名多个工作表
Renaming the multiple sheets with the month extracted from respective columns
我在同一个工作簿中有 10 个 sheet。每个 sheet 仅包含特定月份(10 个不同月份)的数据。如果我在 D 列中的时间格式为 dd/mm/yyyy hh:mm
并且我有一个动态行数。我希望代码从 D 列读取月份编号,并分别用月份名称重命名 sheet。
我怎样才能做到这一点?
要迭代作品sheet,请使用简单的for
循环
For Each ws In Worksheets
在循环内部,select sheet
Sheets(ws.Name).Select
并提取月份
sheetdate = Range("D1").Value
mn = MonthName(Month(sheetdate))
最后,重命名作品sheet
ActiveSheet.Name = mn
并关闭循环
Next ws
所以,将所有部分放在一起并简化代码,试试这个
For Each ws In Worksheets
ws.Name =MonthName(Month(ws.Range("D1").Value))
Next ws
这是我的方法,
Public Sub changeSheetName()
'Loop all sheet from workbook
For Each aSheet In Worksheets
'Get date from "D2" cell and change to month name
'And set it to sheet name
aSheet.Name = MonthName(Month(aSheet.Range("D2"))) & " " & Year(aSheet.Range("D2"))
Next aSheet
End Sub
我在同一个工作簿中有 10 个 sheet。每个 sheet 仅包含特定月份(10 个不同月份)的数据。如果我在 D 列中的时间格式为 dd/mm/yyyy hh:mm
并且我有一个动态行数。我希望代码从 D 列读取月份编号,并分别用月份名称重命名 sheet。
我怎样才能做到这一点?
要迭代作品sheet,请使用简单的for
循环
For Each ws In Worksheets
在循环内部,select sheet
Sheets(ws.Name).Select
并提取月份
sheetdate = Range("D1").Value
mn = MonthName(Month(sheetdate))
最后,重命名作品sheet
ActiveSheet.Name = mn
并关闭循环
Next ws
所以,将所有部分放在一起并简化代码,试试这个
For Each ws In Worksheets
ws.Name =MonthName(Month(ws.Range("D1").Value))
Next ws
这是我的方法,
Public Sub changeSheetName()
'Loop all sheet from workbook
For Each aSheet In Worksheets
'Get date from "D2" cell and change to month name
'And set it to sheet name
aSheet.Name = MonthName(Month(aSheet.Range("D2"))) & " " & Year(aSheet.Range("D2"))
Next aSheet
End Sub