使用VBA上的当前日期重命名工作表

时间:2017-05-29 14:15:59

标签: vba excel-vba date excel

我有一个代码可以复制工作表的所有单元格并将其粘贴到具有原始格式的值的新工作表中。我还要自动重命名当前日期的新工作表,我试过这个:

Cells.Select
Selection.Copy
Sheets.Add After:=ActiveSheet
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
ActiveSheet.Name = szToday

但最后一行并不能达到我想要的效果。

有人可以帮助我吗?

感谢。

1 个答案:

答案 0 :(得分:1)

工作表名称不能为空。由于您尚未定义szToday,因此它是空白的。

这就是你正在尝试的

Sheets.Add After:=ActiveSheet
szToday = Format(Date, "DD-MM-YY")
ActiveSheet.Name = szToday

或者只是

Sheets.Add After:=ActiveSheet
ActiveSheet.Name = Format(Date, "DD-MM-YY")

或一个班轮

Sheets.Add(After:=ActiveSheet).Name = Format(Date, "DD-MM-YY")