删除书中所有表单的名称
我用VBA复制了一个新文件中的几张纸。 所有这些表都有一个当前的date,如“YYYYMMDD”的名称末尾。 如何删除date部分? 我试过这个,但没有奏效:
例如A.20131226
, B.20131226
和C.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