如何使用静态日期设置工作表名称?

时间:2017-05-22 11:14:09

标签: excel vba excel-vba

我需要使用静态 DATE 和Vba代码设置工作表名称。即名称明天不应改变。请帮助我。这是我的代码。

Sub MaterialRequest()
    Dim WS As Worksheet
    Dim SheeetName As String
    Dim i As Long

    SheeetName = Format(Date, "dd-mm-yyyy")
    Workbooks.Open Filename:=Range("Z3").Value
    Worksheets.Add after:=Worksheets(Worksheets.Count)

    For i = 1 To Worksheets.Count
        Worksheets(i).Name = SheeetName & "ENGGMR" & i
    Next
End sub

通过此代码,第二天,工作表名称会自动更改。

1 个答案:

答案 0 :(得分:1)

您应该使用worksheets这样的工作簿来限定WB.Worksheets,以确保正在使用正确的工作簿。

然后,您可以使用WS.Name

直接重命名新工作表
Sub MaterialRequest()
    Dim WB As Workbook, WS As Worksheet
    Dim newSheetDate As String
    Dim i As Long

    newSheetDate = Format(Date, "dd-mm-yyyy")
    Set WB = Workbooks.Open(Filename:=Range("Z3").Value)
    Set WS = WB.Worksheets.Add(after:=WB.Worksheets(WB.Worksheets.Count))
    WS.Name = newSheetDate & "ENGGMR" & WB.Worksheets.Count
End Sub

我还建议将Filename:=Range("Z3").Value中的范围完全限定为工作表,例如Filename:=ThisWorkbook.Worksheets("MySheetName").Range("Z3").Value以确保正在使用正确的工作表。