ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Trouble naming worksheet (https://www.excelbanter.com/excel-programming/355689-trouble-naming-worksheet.html)

Coal Miner

Trouble naming worksheet
 
My code is having trouble assigning a new name to a worksheet. I thought
this would work ws2.Name = ws1.Range("L4"). Cell "L4" on ws1 contains the
function TODAY(). I thought this would go ahead and assign todays date to
the name of ws2. The code breaks and the run time error does mention I
cannot use any / \ * etc. in the name. I tried to format the date to
something like 3-10-06 but to no avail. What the heck is wrong with this
simple request?

Jim Thomlinson

Trouble naming worksheet
 
Give this a whirl...

Sub test()
Dim wks As Worksheet
Dim strName As String

Set wks = Sheet2
strName = Format(Date, "mm-dd-yyyy")
If SheetExists(strName) Then
MsgBox "Sheet " & strName & " already exists."
Else
wks.Name = strName
End If

End Sub

Public Function SheetExists(SName As String, _
Optional ByVal Wb As Workbook) As Boolean
'Chip Pearson
On Error Resume Next
If Wb Is Nothing Then Set Wb = ThisWorkbook
SheetExists = CBool(Len(Wb.Sheets(SName).Name))
End Function
--
HTH...

Jim Thomlinson


"Coal Miner" wrote:

My code is having trouble assigning a new name to a worksheet. I thought
this would work ws2.Name = ws1.Range("L4"). Cell "L4" on ws1 contains the
function TODAY(). I thought this would go ahead and assign todays date to
the name of ws2. The code breaks and the run time error does mention I
cannot use any / \ * etc. in the name. I tried to format the date to
something like 3-10-06 but to no avail. What the heck is wrong with this
simple request?


Dave Peterson

Trouble naming worksheet
 
Maybe...

ws2.Name = format(ws1.Range("L4").value, "YYYY_MM_DD")

or just

ws2.Name = format(date, "YYYY_MM_DD")



Coal Miner wrote:

My code is having trouble assigning a new name to a worksheet. I thought
this would work ws2.Name = ws1.Range("L4"). Cell "L4" on ws1 contains the
function TODAY(). I thought this would go ahead and assign todays date to
the name of ws2. The code breaks and the run time error does mention I
cannot use any / \ * etc. in the name. I tried to format the date to
something like 3-10-06 but to no avail. What the heck is wrong with this
simple request?


--

Dave Peterson

Coal Miner

Trouble naming worksheet
 
Dave and Jim,

Thanks. All is well now!

"Dave Peterson" wrote:

Maybe...

ws2.Name = format(ws1.Range("L4").value, "YYYY_MM_DD")

or just

ws2.Name = format(date, "YYYY_MM_DD")



Coal Miner wrote:

My code is having trouble assigning a new name to a worksheet. I thought
this would work ws2.Name = ws1.Range("L4"). Cell "L4" on ws1 contains the
function TODAY(). I thought this would go ahead and assign todays date to
the name of ws2. The code breaks and the run time error does mention I
cannot use any / \ * etc. in the name. I tried to format the date to
something like 3-10-06 but to no avail. What the heck is wrong with this
simple request?


--

Dave Peterson



All times are GMT +1. The time now is 10:34 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com