VBA Agregar nueva hoja: nombre, antes / después y más ejemplos

Este tutorial discutirá cómo agregar / insertar hojas de trabajo usando VBA.

Agregar hoja

Esta simple macro agregará una Hoja antes de ActiveSheet:

123 Sub Agregar ()Sábanas.AñadirEnd Sub

Después de insertar una hoja, la nueva hoja se convierte en ActiveSheet. A continuación, puede utilizar el objeto ActiveSheet para trabajar con la nueva hoja (en la parte inferior de este artículo le mostraremos cómo insertar una nueva hoja directamente en una variable).

1 ActiveSheet.Name = "Nueva hoja"

Agregar hoja con nombre

También puede definir un nombre de hoja a medida que crea la nueva hoja:

1 Sheets.Add.Name = "Nueva hoja"

Crear nueva hoja con el nombre de una celda

O use un valor de celda para nombrar una nueva Hoja:

1 Sheets.Add.Name = rango ("a3"). Valor

Agregar hoja antes / después de otra hoja

Es posible que también desee elegir la ubicación donde se insertará la nueva hoja. Puede usar las propiedades Después o Antes para insertar una hoja en una ubicación específica del libro.

Insertar hoja después de otra hoja

Este código insertará la nueva hoja DESPUÉS de otra hoja:

1 Hojas.Añadir después: = Hojas ("Entrada")

Esto insertará una nueva hoja DESPUÉS de otra hoja y especificará el nombre de la hoja:

1 Sheets.Add (After: = Sheets ("Entrada")). Name = "NewSheet"

Observe el paréntesis adicional requerido en el segundo ejemplo (el primer ejemplo generará un error si se agrega el segundo paréntesis).

o antes:

1 Sheets.Add (Before: = Sheets ("Entrada")). Name = "NewSheet"

En estos ejemplos, nombramos explícitamente la Hoja utilizada para determinar la ubicación de la hoja. A menudo, querrá utilizar el número de índice de hoja en su lugar, de modo que pueda insertar la hoja al principio o al final del libro de trabajo:

Agregar hoja al final del libro de trabajo

Para agregar una hoja al final del libro de trabajo:

1 Sheets.Add After: = Hojas (Sheets.Count)

Agregar hoja al comienzo del libro de trabajo:

Para agregar una hoja al principio del libro de trabajo:

1 Hojas.Añadir (Antes: = Hojas (1)). Nombre = "Primera hoja"

Agregar hoja a variable

Este código asigna la nueva hoja a una variable a medida que se crea la hoja:

12 Dim ws como hoja de trabajoEstablecer ws = Sheets.Add

Desde aquí puede hacer referencia a la nueva hoja con la variable "ws":

1 ws.name = "VarSheet"

Más ejemplos de hojas de adición

Crear hoja si aún no existe

Es posible que desee crear una hoja solo si aún no existe.

Crear hojas de trabajo a partir de una lista de nombres

La siguiente rutina examinará el contenido de una sola columna configurada en hojas de cálculo de Excel dentro del libro actual con estos nombres. Realiza una llamada a otra función para ver si ya existe una hoja con ese nombre y, de ser así, la hoja no se ha creado.

1234567891011121314151617181920212223242526 Privado Sub CommandButton1_Click ()Llame a CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))End SubSub CreateWorksheets (Names_Of_Sheets como rango)Dim No_Of_Sheets_to_be_Added como enteroDim Sheet_Name como cadenaDim i como enteroNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountPara i = 1 a No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1) .Value'Solo agregue la hoja si aún no existe y el nombre tiene más de cero caracteresSi (Sheet_Exists (Sheet_Name) = False) Y (Sheet_Name "") EntoncesWorksheets.Add (). Name = Sheet_NameTerminara siSiguiente yoEnd Sub
1234567891011121314 Función Sheet_Exists (WorkSheet_Name como cadena) como booleanoAtenuar hoja de trabajo como hoja de trabajoSheet_Exists = FalsoPara cada hoja de trabajo de este libro de trabajo.Si Work_sheet.Name = WorkSheet_Name EntoncesSheet_Exists = VerdaderoTerminara sipróximoFunción final

Entonces, si tenemos el siguiente texto en las celdas A1: A30 en la Hoja 2:

Entonces se crearán las siguientes hojas:

Tenga en cuenta que aunque "Perro" aparece dos veces, solo se crea una hoja.

Para descargar el archivo .XLS de este tutorial, haga clic aquí.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave