............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Poner el contenido de una celda como nombre de la etiqueta de la hoja

Ver el tema anterior Ver el tema siguiente Ir abajo

Poner el contenido de una celda como nombre de la etiqueta de la hoja

Mensaje por angymag el Miér Jun 23, 2010 1:49 pm

Hola Amigos:

Es mi primera consulta, y espero que me puedan ayudar. Necesito una macro que me tome la fecha que contiene una celda (cualquiera) y me lo ponga como nombre de la primera hoja del libro; Ha de continuar renombrado todas las hojas del libro pero incrementando la fecha en un día. ¿se puede hacer algo así? He mirado en el foro y he encontrado lo que véis a continuación, pero como mis conocimientos en VBA son bajos, no se si hace lo que pido o no:


---------------------------------------------------
Function proxHoja(ByVal sufijo As String, Optional ByVal num_inicio As Integer = 1, Optional libro As Workbook) As String

Dim hoja As Worksheet
Dim num As Integer

If libro Is Nothing Then
Set libro = ThisWorkbook
End If
num = num_inicio

Do
On Error Resume Next
Set hoja = Nothing
Set hoja = libro.Sheets(sufijo & num)
On Error GoTo 0
If hoja Is Nothing Then Exit Do
num = num + 1
Loop
proxHoja = sufijo & num
Set libro = Nothing
Set hoja = Nothing

End Function

Sub BFcrear_Click()
'creo una variable
Dim hoja As Worksheet
'copio la plantilla y la coloco al final del libro
Sheets("Plantilla").Copy after:=Sheets("Plantilla")
'fijo la nueva hoja como hoja de trabajo
Set hoja = ActiveSheet

'la renombro mediante un nombre devuelto por una funcion que evita duplicados
hoja.Name = proxHoja("Plantilla")

hoja.Names(1).Name = hoja.Name

'ahora aquí es donde debería meter el que me cabiara el nombre de la tabla
'Range("Plantilla7").Select
'ActiveSheet.ListObjects("Plantilla7").Name = Dpublicacion

Set hoja = Nothing
End Sub
-----------------------------------------------

Espero vuestra ayuda. Un saludo y gracias de antemano.

angymag

Femenino Cantidad de envíos : 1
Edad : 36
Ciudad - Pais : España-Valladolid
Version de Excel : 2003 y 2007
Fecha de inscripción : 09/06/2010

Volver arriba Ir abajo

Re: Poner el contenido de una celda como nombre de la etiqueta de la hoja

Mensaje por GalileoGali el Miér Jun 23, 2010 8:19 pm

Prueba con este código

Código:
Option Explicit

Sub RenombrarConFechas()
Dim fecha As String
Dim i As Integer
'Supongamos que la celda elegida como almacen de la fecha inicial fuera A1 en la Hoja1
fecha = Format(Sheets(1).Range("A1"), "DD-MM-YYYY")
If fecha = "" Or IsDate(fecha) = False Then Exit Sub
Sheets(1).Name = fecha

If Sheets.Count = 1 Then Exit Sub
For i = 2 To Sheets.Count
Sheets(i).Name = Format(CDate(Sheets(i - 1).Name) + 1, "DD-MM-YYYY")
Next i


End Sub

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.