Vba 删除书中所有工作表名称中的日期

Vba 删除书中所有工作表名称中的日期,vba,excel,Vba,Excel,我用VBA将几张图纸复制到一个新文件中。所有这些工作表的名称末尾都有一个当前日期,如“YYYYMMDD”。如何删除日期部分?我试过这个,但不起作用: 例如,表格为A.20131226,B.20131226,和C.20131226 Dim SheetNames As Variant SheetNames = Array( "A", B", "C") If ActiveSheet.Name = SheetNames + "." + VBA.Format(asofdate, "yyyyMMdd") T

我用VBA将几张图纸复制到一个新文件中。所有这些工作表的名称末尾都有一个当前日期,如“YYYYMMDD”。如何删除日期部分?我试过这个,但不起作用:

例如,表格为
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

你说所有这些表格的名字后面都有一个当前日期。。。 但你为什么要说“如果”呢?你可以把最后一部分剪掉:

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

(9因为“.yyyyMMdd”字符串)

您说所有这些工作表的名称末尾都有一个当前日期。。。 但你为什么要说“如果”呢?你可以把最后一部分剪掉:

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

(9因为“.yyyyMMdd”字符串)

您说所有这些工作表的名称末尾都有一个当前日期。。。 但你为什么要说“如果”呢?你可以把最后一部分剪掉:

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

(9因为“.yyyyMMdd”字符串)

您说所有这些工作表的名称末尾都有一个当前日期。。。 但你为什么要说“如果”呢?你可以把最后一部分剪掉:

 newname = Left(oldname, Len(oldname) - 9)
(9因为“.yyyyMMdd”字符串)

也许:

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
也许:

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
也许:

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
也许:

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
如果要为名为“A.foobar”的工作表使用新名称“A”,只需检查名称的第一个字符并将其设置为新名称。无需创建带结束日期的字符串。如果要为名为“A.foobar”的工作表创建新名称“A”,只需检查名称的第一个字符并将其设置为新名称。无需创建带结束日期的字符串。如果要为名为“A.foobar”的工作表创建新名称“A”,只需检查名称的第一个字符并将其设置为新名称。无需创建带结束日期的字符串。如果要为名为“A.foobar”的工作表创建新名称“A”,只需检查名称的第一个字符并将其设置为新名称。不需要使用结束日期创建字符串。