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

我在同一个工作簿中有10张。 每张表只包含特定月份(10个不同月份)的数据。 如果我的时间格式为dd/mm/yyyy hh:mm在D列中,并且具有dynamic的行数。 我想要代码从D列读取月份编号,并分别用月份名称重命名工作表。

我怎样才能做到这一点?

要遍历工作表,请使用简单的for循环

  For Each ws In Worksheets 

在循环中,select表单

  Sheets(ws.Name).Select 

并提取月份

  sheetdate = Range("D1").Value mn = MonthName(Month(sheetdate)) 

最后,重命名工作表

  ActiveSheet.Name = mn 

并closures循环

  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