删除书中所有表单的名称

我用VBA复制了一个新文件中的几张纸。 所有这些表都有一个当前的date,如“YYYYMMDD”的名称末尾。 如何删除date部分? 我试过这个,但没有奏效:

例如A.20131226B.20131226C.20131226

 Dim SheetNames As Variant SheetNames = Array( "A", B", "C") If ActiveSheet.Name = SheetNames + "." + VBA.Format(asofdate, "yyyyMMdd") Then ActiveSheet.Name = SheetNames End If 

你说所有这些表都有名字的最后一个date…但是你为什么要做一个“如果”的声明? 你可以把最后一部分剪掉:

  newname = Left(oldname, Len(oldname) - 9) 

(9因为“.yyyyMMdd”string)

也许:

 Sub SheetNameFixer() Dim s As Worksheet For Each s In Sheets st = s.Name NumPart = Right(st, 8) If IsNumeric(NumPart) Then s.Name = Left(st, Len(st) - 8) End If Next s End Sub