我在互联网上找到了一个代码并试了一下。代码有效。但我担心的是我希望将表格重命名为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。
注意..我也尝试过其他网站的其他建议,但仍无法正常工作
答案 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
)。