使用从各个列中提取的月份重命名多个工作表

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