2017-05-22 3 views
0

Ich muss die Blattnamen mit statischen DATE mit VBA-Code festlegen. h. Name sollte sich morgen nicht ändern. Bitte helfen Sie mir dabei. Hier ist mein Code.Wie legen Sie die Blattnamen mit statischem Datum fest?

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 

Mit diesem Code am nächsten Tag, Blattnamen automatisch zu ändern.

+3

Warum durchlaufen Sie jedes Arbeitsblatt und benennen es um? Verwenden Sie einfach 'Worksheets (Worksheets.Count) .Name = SheeetName &" ENGGMR "& Worksheets.Count' anstelle der for-Schleife. – UGP

+0

Danke. Es half. – Divya

Antwort

1

Sie sollten worksheets mit der Arbeitsmappe wie WB.Worksheets qualifizieren, um sicherzustellen, dass die richtige Arbeitsmappe verwendet wird.

Und dann kann man direkt das neue Arbeitsblatt mit 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 

benenne ich auch den Bereich in Filename:=Range("Z3").Value zu einem Arbeitsblatt zum Beispiel vollständig zu qualifizieren empfehlen Filename:=ThisWorkbook.Worksheets("MySheetName").Range("Z3").Value, um sicherzustellen, dass das richtige Arbeitsblatt verwendet wird.

+0

Danke.Es hat geholfen – Divya

+1

@Divya Wenn diese Antwort Ihre Frage gelöst hat, betrachten Sie es bitte als Lösung, damit andere Benutzer sehen können, dass diese Frage gelöst ist. –

Verwandte Themen