Crear libro del mes o año en excel

Amigos necesito crear un libro donde en la primera hoja escriba la fecha de hoy, y siga creando hojas con las fechas siguientes, pero sin escribirlas, existe alguna solución a eso, les pregunto porque tengo que crear unos datos del año 2008 hasta hoy, imagínense lo que me demorare en hacerlo manual, pucha espero como siempre sus buenas respuestas adiós.

1 Respuesta

Respuesta
1
Confírmame si entendí bien tu consulta:
Si en hoja1 de un libro escribo 01/01/2008 , necesitas que se agreguen hojas para 02/01/2008, 03/01/2008 .... hasta cuánto?
Y qué significa 'creando hojas con las fechas siguientes, pero sin escribirlas'...
¿Será qué necesitas que a un libro se le agreguen las 365 hojas para cubrir un año? ¿Las hojas llevarán nombre o serán Hoja1, Hoja2,,,, hoja365?
Confírmame también tu versión Excel para corroborar los límites.
Elsa : aclaro necesito que se agreguen hojas como tu dices 01-05-2011 la otra hoja 02-05-2011, etc
Y el otro punto es que las necesito del 01-01-2008 a la fecha
Espero tu respuesta
Según Excel la cantidad de hojas permitidas dependerá de la memoria, y según otros expertos el límite es:
Número total de hojas disponibles en Excel.
Límite Excel 2003: 256 (2^8)
Límite Excel 2007: 1.024 (2^10)
Por lo tanto, desconociendo tu versión Excel, quizás sea momento para revisar lo que estás intentando hacer, ya que del 2008 a la fecha son alrededor de 1200...
No importa puedo hacer un libro por año, no es necesario tener todos los años en un libro
Saludos javier
Bien, aquí va entonces la rutina con algunas líneas donde tendrás que ajustar a tu gusto, por ejemplo el formato del nombre de las hojas y el nombre del libro (x ahora queda como 2008.xls y así con el resto)
Sub creaHojas()
'x Elsamatilde
'guardo el nombre del libro actual para regresar
milibro = ActiveWorkbook.Name
'guardo la ruta para guardar los libros anuales
ruta = ThisWorkbook.Path    'ajustar ruta
anio = Year(Sheets(1).Range("A1"))
'en A1 está la fecha de inicio y en A2 la fecha del día con fórmula = HOY
fecha1 = Sheets(1).Range("A1")
fechahoy = Sheets(1).Range("A2")
'agrego el primer libro
Workbooks.Add
X = 0
i = 1
Do While X = 0
'agrego 1 hoja y le asigno un nombre
    Sheets.Add
    ActiveSheet.Name = Format(fecha1 + i, "dd-mm-yy")  'ajustar formato
    i = i + 1
    'si cambió de año guardo el libro y abro otro
    If Year(fecha1 + i) > anio Then
        'guardo el libro y creo uno nuevo
        ActiveWorkbook.SaveAs ruta & "\" & anio & ".xls"   'ajustar extensión
        ActiveWorkbook.Close
        anio = anio + 1
        Workbooks.Add
    End If
    If fecha1 + i > fechahoy Then X = 1
Loop
'guardo el último libro creado
ActiveWorkbook.SaveAs ruta & "\" & anio & ".xls"   'ajustar extensión
ActiveWorkbook.Close
MsgBox "Fin del proceso"
End Sub
Te conviene configurar las opciones de Excel para que los nuevos libros se abran con 1 sola hoja (Menú Opciones-General para versión 2003)
Sdos. No olvides finalizar la consulta
No olvides finalizar la consulta si el tema queda resuelto, te llevará mucho menos tiempo que el que dediqué es escribirte la macro.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas