Excel - Crear nombres de celda automáticamente

   
Vista:

Crear nombres de celda automáticamente

Publicado por NACHO (14 intervenciones) el 01/06/2011 13:02:00
Hola a todos,

Necesito crear una hoja de cálculo, en donde los nombres de cada Hoja sean fechas.

tiene que haber una hoja por cada día laboral del año (de lunes a viernes), de tal forma que la hoja1 se llamará 01-01-2011 si fuera lunes, la hoja 2 02-01-2011, ... la hoja 5 05-01-2011 y la hoja6 08-01-2011.
Cómo se podría hacer de una forma automática para no tener que ir creando nuevas hojas a mano hasta completar el año?

Muchas gracias por vuestra ayuda.
Un saludo,

NACHO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Crear nombres de celda automáticamente

Publicado por JuanC juanc2942@gmail.com (1054 intervenciones) el 01/06/2011 13:24:08
una pequeña macro puede ayudar...

Sub test()
Dim wb As Workbook, ws As Worksheet
Dim dt As Date, i&, n&
Set wb = ThisWorkbook
dt = Date '//Fecha inicial
n = 365 '//Cantidad de días/hojas
For i = 0 To n-1
Set ws = wb.Sheets.Add
ws.Name = VBA.Format(dt, "dd-mm-yyyy")
dt = DateAdd("d", 1, dt) '//Siguiente día
Next
End Sub


Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear nombres de celda automáticamente

Publicado por Nacho (14 intervenciones) el 01/06/2011 13:34:30
Muchísimas gracias JuanC.

Y si lo que quiero es que además de crear los nombres se copie toda la estructura de celdas que tengo en la hoja 1 cómo lo podría hacer?

En resumen, tengo que crear una plantilla (que luego protegeré su formato) para que la rellenen otras personas cada día de la semana. La plantilla es igual, lo único que cambia es el día del nombre de la hoja.

Gracias de nuevo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear nombres de celda automáticamente

Publicado por jcs (494 intervenciones) el 02/06/2011 09:32:47
Muy buenas,

mira a ver si te sirve esta macro:

Sub hojas()
Sheets("Hoja1").Select
Cells.Select
Selection.Copy
vdia = #1/1/2011#
While vdia <= #12/31/2011#
If Weekday(vdia, 2) < 6 Then
Sheets.Add After:=Sheets(Sheets.Count)
'Sheets(Sheets.Count).Select
ActiveSheet.Name = Format(vdia, "dd-mm-yyyy")
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
vdia = vdia + 1
Wend
End Sub

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear nombres de celda automáticamente

Publicado por Nachoj (14 intervenciones) el 02/06/2011 10:09:23
Muchísimas gracias Juanjo!

Solucionado.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear nombres de celda automáticamente

Publicado por nacho (14 intervenciones) el 02/06/2011 11:41:29
Juanjo, Juan o resto de gente... :-)


me acabo de dar cuenta que el pastespecial, con el xlPasteFormat sólo me pega el formato y no incluye el texto que uso para nombrar las columnas...

Si quisiera además de copiar el formato, que se copiara el texto cómo podría hacerlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear nombres de celda automáticamente

Publicado por jcs (494 intervenciones) el 02/06/2011 18:09:43
Muy buenas,

simplemente cambia
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
por
ActiveSheet.Paste

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear nombres de celda automáticamente

Publicado por nacho (14 intervenciones) el 02/06/2011 18:28:59
muchísimas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar