我需要使用静态 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
通过此代码,第二天,工作表名称会自动更改。
答案 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
以确保正在使用正确的工作表。