Crear nueva hoja de Excel en VBA

Iqra Hasnain 21 junio 2023
  1. Crear nueva hoja de Excel en VBA
  2. Use el método Sheets.Add() para agregar una hoja en VBA
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.

  1. Primero debemos ingresar Sheets en VBA.
  2. Usaremos el método Agregar.
  3. Luego, debemos decidir dónde colocar la nueva hoja (Antes o Después) usando VBA.
  4. El siguiente paso es ingresar la cantidad total de hojas de trabajo en Excel usando VBA.
  5. 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:

creando varias hojas usando la función de agregar en VBA

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:

creando una sola hoja usando la función de agregar en VBA

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:

creando un segundo ejemplo de una sola hoja usando la función de agregar en VBA

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:

creando varias hojas usando el ejemplo 2 de función de adición en VBA

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:

creando una nueva hoja con un título en vba

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:

crear una hoja con el nombre de la celda en vba

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:

Agregar una nueva hoja al comienzo en vba

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:

Agregar una nueva hoja al final en vba

Necesitaremos saber cuántas hojas hay en el libro de trabajo para agregar una nueva hoja al final.

Artículo relacionado - VBA Excel