lunes, noviembre 27, 2006

Crear varias hojas en un cuaderno de Excel en una operacion

Si tenemos un cuaderno Excel con varias hojas y queremos borrar algunas de ellas, podemos hacerlo en una sola operación. Sencillamente, elegimos las hojas a ser borradas (clic mientras apretamos la tecla Ctrl) y luego en el menú contextual elegimos Eliminar.

En cambio, Excel no tiene ningún método para crear varias hojas en una sola operación. Por ejemplo, si queremos crear un cuaderno con 12 hojas, una para cada mes del año; o peor aún, uno con 52 hojas, una para cada semana.

Una solución bastante exótica sería definir el número de hojas en un nuevo libro (Opciones—General—Número de hojas en un nuevo libro) a 100, o algo así. Luego podríamos borrar de una vez las hojas excedentes.

Una solución más razonable es crear una macro que automatice la tarea de agregar hojas al cuaderno.

En un módulo del editor de Vba ponemos este código


Sub add_sheets()
Dim nbrSh As Integer, Counter As Integer

nbrSh = Application.InputBox(prompt:="Cuantas hojas agregar?", _
Title:="Agregar Hojas", Type:=1)

Counter = 0

While Counter < nbrSh
Sheets.Add After:=Sheets(Sheets.Count)
Counter = Counter + 1
Wend

End Sub


O esta otra, mas sintetica

Dim NrSh As Integer

On Error Resume Next

NrSh = Application.InputBox(prompt:="Cuantas hojas agregar", Title:="Agregar Hojas", Type:=1)

Sheets.Add after:=Sheets(Sheets.Count), Count:=NrSh


Esta macro la podemos guardar en el Personal.xls, de manera que esté disponible cada vez que trabajemos con Excel. También podemos asociarle una combinación de teclas (método abreviado) como Ctrl+Mayúsculas+A, para facilitar su uso.




Categorías: Varios_

Technorati Tags:

5 comentarios:

  1. Jorge quisiera su ayuda, estoy creando un formulario, en este tengo una celda con texto, necesito que al posicionarme en esta se despliege para poder ver la totalidad del texto, lo he intentado con listas desplegables
    pero solo muestra una parte del texto ¿Se puede cambiar esta condición?, o quizas usar otro control o macro, desde ya agradecido Marcos

    ResponderBorrar
  2. Hola Marcos
    no estoy seguro si interpreto la consulta correctamente. Si la situacion es que tienes texto en una celda y este no se ve en su totalidad, y suponiendo que no quieras cambiar el formato de la celda (por ejemplo, cambiar la fuente o el alto de la fila), podrias:
    1 - cambiar el formato de la celda momentaneamente con una macro
    2 - crear un evento que muestre el contenido de la celda en una message box cuando se selecciona la celda.

    Si me mandas un ejemplo de tu formulario vere que se puede hacer

    ResponderBorrar
  3. Sin duda este blog, es uno de los mas útiles que he encontrado, me parece excepcional que compartas tus amplios conocimientos de Excel, he aprendido bastante y me he dado cuenta, que no basta solo con saber nada mas sino que también se debe utilizar muho la imaginacion. estaré constantemente visitando tu blog

    saludos

    Carlos Valenzuela C.

    ResponderBorrar
  4. Jorge gracias por tu ayuda, son muy didácticas. Me salvaron el pellejo.
    Atte,
    Raúl

    ResponderBorrar
  5. Tambien puedes agregar una sola hoja y luego simplemente utilizar el comando Repetir desde el menú de Edicion o presionando Ctrl+Y, esto puede ser engorroso si se debe crear muchas hojas pero se soluciona con las funciones que ya estan disponibles sin necesidad de codigo o macros.

    de más esta decir lo útil que resulta tu blog. Gracias por tus aportes !

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.