Excel中的动态工作表名称作为日期

Excel中的动态工作表名称作为日期,excel,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.Le

我在网上找到了一个代码,并试用了一下。代码是有效的。但我担心的是,我希望将工作表重命名为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的值为2016年1月6日,我希望我的工作表名称为2016年6月1日或至少名称为日期


注。。我还尝试了其他网站的其他建议,但仍然不起作用

我不确定为什么这必须是一个事件宏,或者为什么要重写目标参数,但这可能会起作用

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
Private子工作表\u selection更改(ByVal目标作为范围)
如果目标地址“$A$1”或不是IsDate(范围(“A1”)),则退出Sub
Me.Name=格式(Target.Value2,“mmmdd,yyyy”)
端接头

选择A1中带有日期(可能是
=today()
)的A1(仅A1),工作表的名称将被调整(例如
Jul072016
)。

如果日期存储为文本,我们可能需要对其进行调整。让我知道

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

嗨,吉普德。。谢谢你的回答。。不幸的是,当我使用您的代码时,工作表名称根本没有更改其名称。(使用A1值)您是将其放入模块代码工作表中,还是右键单击工作表的“名称”选项卡并选择“查看代码”以访问工作表的代码工作表?A1中的日期是右对齐还是左对齐?这是一个真实的日期还是一个看起来像日期的文本?查看代码,不知道是右对齐还是左对齐。真实日期。。。您实际上选择了A1,并且只选择了A1?搜索工作簿\u Sheet SelectionChange.Thank@Thomas Inzina。。这就是我想要的答案。