Crear nueva hoja de Excel en VBA
Presentaremos cómo crear una nueva hoja de Excel en VBA con ejemplos.
Crear nueva hoja de Excel en VBA
Escribir un código VBA para insertar una nueva hoja de trabajo en un libro de trabajo es una de las cosas más inteligentes que podemos hacer una vez que empezamos a aprender VBA. Hay una tecla de método abreviado para insertar una nueva hoja de trabajo, o podemos usar la opción estándar, pero la ventaja de usar un código VBA es que podemos agregar varias hojas de trabajo con un clic y especificar dónde deseamos agregarlas.
Tendremos que usar Sheets para esto. En este artículo, aprenderemos cómo aplicar la técnica Agregar para agregar una o más hojas de trabajo a un libro de trabajo.
Use el método Sheets.Add()
para agregar una hoja en VBA
Podemos agregar una hoja nueva antes de una hoja ya existente usando el método antes
. Agregue otra hoja después de una existente utilizando el método después
.
La hoja agregada debe contarse utilizando el método de recuento
. Queremos agregar el tipo de hoja usando el método tipo
.
Podemos usar la sintaxis para Sheets.Add()
.
# vba
Sheets.Add ([Before], [After], [Count], [Type])
Siga estas instrucciones en el editor de VBA para insertar una nueva hoja, como se muestra a continuación.
- Primero debemos ingresar Sheets en VBA.
- Usaremos el método Agregar.
- Luego, debemos decidir dónde colocar la nueva hoja (Antes o Después) usando VBA.
- El siguiente paso es ingresar la cantidad total de hojas de trabajo en Excel usando VBA.
- Por último, ingresaremos el tipo de hoja.
Vamos a crear una función para agregar una nueva hoja siguiendo los pasos que discutimos anteriormente.
Código:
# vba
Sub CreateNewSheet()
Sheets.Add After:=Worksheets("Sheet2"), Count:=3, Type:=xlWorksheet
End Sub
Producción:
Usaremos diferentes métodos para insertar la hoja nueva en un libro de trabajo. A continuación se enumeran varios métodos para agregar una hoja adicional a un libro de trabajo.
Agregar hoja única en VBA
Podemos usar el siguiente código para agregar una sola hoja sin especificar ningún argumento.
Código:
# vba
Sub AddSingleSheet()
ActiveWorkbook.Sheets.Add
End Sub
Producción:
Este código le indica a Excel que agregue una hoja al libro de trabajo activo. Sin embargo, debido a que no se proporcionan argumentos, se tomarán los valores predeterminados para agregar una hoja de cálculo (hoja de Excel de Microsoft) antes de la hoja activa.
Aquí hay otra manera de escribir esto.
Código:
# vba
Sub AddSingleSheetWithoutActiveWorkbook()
Sheets.Add
End Sub
Producción:
Insertar varias hojas en VBA
Proporcionar el número de hojas que queremos agregar en la opción COUNT
para agregar muchas hojas a la vez.
Código:
# vba
Sub AddMultipleSheets()
Sheets.Add Count:=2
End Sub
Producción:
Insertar hoja con un título en VBA
Podemos ingresar el siguiente código para renombrar la hoja una vez que la hayamos agregado.
Código:
# vba
Sub AddSheetWithTitle()
Sheets.Add.Name = "New Sheet"
End Sub
Producción:
Crear nueva hoja con el nombre de una celda en VBA
También podemos utilizar una celda para obtener el valor del nombre de la hoja.
Código:
# vba
Sub AddSheetWithCellName()
Sheets.Add.Name = Range("B1")
End Sub
Producción:
En Excel, la celda A1 se aplica en el código anterior para obtener el nombre de la nueva hoja.
Agregar nueva hoja al inicio en VBA
También podemos insertar una hoja al comienzo de las hojas en el libro de trabajo aplicando el argumento anterior.
Código:
# vba
Sub BeginByNewSheet()
Sheets.Add Before:=Sheets(1)
End Sub
Producción:
En lugar de especificar el nombre de la hoja, proporcionaremos el número de hoja. Usamos la hoja número (1) en el código anterior para decirle a VBA que agregue la hoja justo antes de la hoja en primer lugar en todas las hojas de trabajo.
Esto asegura que la hoja fresca siempre se agregue primero.
Agregar nueva hoja al final en VBA
Debemos reescribir el código anterior para agregar una nueva hoja al final.
Código:
# vba
Sub AddSheetAtEnd()
Sheets.Add After:=Sheets(Sheets.Count)
End Sub
Producción:
Necesitaremos saber cuántas hojas hay en el libro de trabajo para agregar una nueva hoja al final.