Excel中的动态工作表名称为DATE

时间:2016-07-08 03:36:55

标签: excel

我在互联网上找到了一个代码并试了一下。代码有效。但我担心的是我希望将表格重命名为Date。或者至少允许代码从单元格中读取格式mm / dd / yyyy。

这是代码示例:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set Target = Range("A1")
    If Target = "" Then Exit Sub
    Application.ActiveSheet.Name = VBA.Left(Target, 31)
End Sub

如果A1的价值是06/01/2016,我希望我的工作表名称为Jun01,2016或者至少将其命名为Date。

注意..我也尝试过其他网站的其他建议,但仍无法正常工作

2 个答案:

答案 0 :(得分:2)

如果日期存储为文本,我们可能需要调整此项。让我知道。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If IsDate(Range("A1")) Then

        ActiveSheet.Name = Format(Range("A1"), "MM-DD-YYYY hh-mm-ss")

    End If
End Sub

答案 1 :(得分:1)

我不确定为什么这必须是Worksheet_SelectionChange事件宏,或者为什么要重写Target参数,但这可能会有效。

Private Sub Worksheet_SelectionChange(ByVal Target as Range)
    If Target.Address <> "$A$1" or Not IsDate(Range("A1")) Then Exit Sub
    Me.Name = Format(Target.Value2, "mmmdd,yyyy")
End Sub

在A1中选择带有日期(可能是=today())的A1(和只是 A1),将调整工作表的名称(例如Jul07,2016)。