ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Naming a Sheet with a function (https://www.excelbanter.com/excel-programming/330313-naming-sheet-function.html)

MónicaM

Naming a Sheet with a function
 

I want to put in the sheet name tab the actual date. I have tried the
following macro but it does not work:
Sub nombrar()

Dim fecha As String

fecha = Date
ActiveCell.Value = fecha ‘this is only for testing that fecha is
a string with the date
ActiveSheet.Name = fecha

End Sub

I get an error in the last line. If I put fecha between quotes I get
the name fecha of course, insted of his value


--
MónicaM
------------------------------------------------------------------------
MónicaM's Profile: http://www.excelforum.com/member.php...o&userid=22523
View this thread: http://www.excelforum.com/showthread...hreadid=374562


JE McGimpsey

Naming a Sheet with a function
 
You probably have illegal characters in your date format (e.g., "/")

Try

ActiveSheet.Name = Format(Date, "dd-mmm-yyyy")

substitute your desired date format (with legal characters)



In article ,
MónicaM wrote:

I want to put in the sheet name tab the actual date. I have tried the
following macro but it does not work:
Sub nombrar()

Dim fecha As String

fecha = Date
ActiveCell.Value = fecha ‘this is only for testing that fecha is
a string with the date
ActiveSheet.Name = fecha

End Sub

I get an error in the last line. If I put fecha between quotes I get
the name fecha of course, insted of his value


Dick Kusleika[_4_]

Naming a Sheet with a function
 
Monica

You can't use / in a sheet name which is the problem. Try using the Format
function to format the date so that only legal characters are included.

Sub test()

Dim fecha As Date

fecha = Date

ActiveSheet.Name = Format(fecha, "yyyy_mm_dd")

End Sub

--
Dick Kusleika
Excel MVP
Daily Dose of Excel
www.dicks-blog.com

MónicaM wrote:
I want to put in the sheet name tab the actual date. I have tried the
following macro but it does not work:
Sub nombrar()

Dim fecha As String

fecha = Date
ActiveCell.Value = fecha ‘this is only for testing that fecha is
a string with the date
ActiveSheet.Name = fecha

End Sub

I get an error in the last line. If I put fecha between quotes I get
the name fecha of course, insted of his value




Peter T

Naming a Sheet with a function
 
Hi Monica,

Your sheet naming routing works fine for me. It would fail of course if
another sheet is named with today's date. If you need multiple sheets
similarly named with Date try this:

Sub test2()
Dim fecha As String
Dim sht As Object
n = Date
fecha = CStr(Date)
For Each sht In ActiveWorkbook.Sheets
If Left(sht.Name, Len(fecha)) = fecha Then
cnt = cnt + 1
End If
Next
If cnt Then fecha = fecha & Chr(65 + cnt)

ActiveSheet.Name = fecha
End Sub

Regards,
Peter T

"MónicaM" wrote in
message ...

I want to put in the sheet name tab the actual date. I have tried the
following macro but it does not work:
Sub nombrar()

Dim fecha As String

fecha = Date
ActiveCell.Value = fecha ‘this is only for testing that fecha is
a string with the date
ActiveSheet.Name = fecha

End Sub

I get an error in the last line. If I put fecha between quotes I get
the name fecha of course, insted of his value


--
MónicaM
------------------------------------------------------------------------
MónicaM's Profile:

http://www.excelforum.com/member.php...o&userid=22523
View this thread: http://www.excelforum.com/showthread...hreadid=374562




Peter T

Naming a Sheet with a function
 
Reading JE's & Dick's comments I realise your routine only worked for me
because my default/system date format is "dd-mm-yyyy", namely does not
include a "/".

Peter T

"Peter T" <peter_t@discussions wrote in message
...
Hi Monica,

Your sheet naming routing works fine for me. It would fail of course if
another sheet is named with today's date. If you need multiple sheets
similarly named with Date try this:

Sub test2()
Dim fecha As String
Dim sht As Object
n = Date
fecha = CStr(Date)
For Each sht In ActiveWorkbook.Sheets
If Left(sht.Name, Len(fecha)) = fecha Then
cnt = cnt + 1
End If
Next
If cnt Then fecha = fecha & Chr(65 + cnt)

ActiveSheet.Name = fecha
End Sub

Regards,
Peter T

"MónicaM" wrote in
message ...

I want to put in the sheet name tab the actual date. I have tried the
following macro but it does not work:
Sub nombrar()

Dim fecha As String

fecha = Date
ActiveCell.Value = fecha ‘this is only for testing that fecha is
a string with the date
ActiveSheet.Name = fecha

End Sub

I get an error in the last line. If I put fecha between quotes I get
the name fecha of course, insted of his value


--
MónicaM
------------------------------------------------------------------------
MónicaM's Profile:

http://www.excelforum.com/member.php...o&userid=22523
View this thread:

http://www.excelforum.com/showthread...hreadid=374562







All times are GMT +1. The time now is 07:33 PM.

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