VBA Obtener nombre de hoja / Cambiar nombre de hoja

Este tutorial cubrirá la interacción con los nombres de las hojas en VBA.

Obtener el nombre de la hoja

Los nombres de las hojas se almacenan en el Nombre propiedad de la Hojas o Hojas de trabajo objeto. El nombre de la hoja es el nombre de la "pestaña" que está visible en la parte inferior de Excel:

Obtener el nombre de ActiveSheet

Esto mostrará el nombre de ActiveSheet en un cuadro de mensaje:

1 MsgBox ActiveSheet.Name

Obtener el nombre de la hoja por número de índice

Esto mostrará el primer nombre de la hoja de trabajo en un cuadro de mensaje:

1 MsgBox Sheets (1) .Name

Esto mostrará el nombre de la última hoja de trabajo en el libro de trabajo:

1 MsgBox Sheets (Sheets.Count) .Name

Obtener nombre de hoja por nombre de código

En el Editor de VBA, hay una opción para cambiar el "nombre de código" de una Hoja. El nombre del código no es visible para el usuario de Excel y solo se puede ver en el Editor de VBA:

En VBA, al trabajar con Hojas de cálculo, puede hacer referencia al nombre de pestaña habitual:

1 Hojas de cálculo ("TabName"). Activar

o el nombre del código de VBA:

1 CodeName.Activate

Es deseable hacer referencia al nombre del código en caso de que el nombre de la pestaña Hoja alguna vez cambie. Si le permite el acceso de usuario de Excel para cambiar los nombres de las hojas, debe hacer referencia al nombre del código en su código VBA para que la falta de coincidencia del nombre de la pestaña de la hoja no provoque un error. Los nombres de los códigos de las hojas se analizan con más detalle aquí.

Para obtener el nombre de la hoja con el nombre del código VBA, haga lo siguiente:

1 MsgBox CodeName.Name

Cambiar nombre de hoja

Puede cambiar el nombre de las hojas ajustando el nombre propiedad de la Hojas o Hojas de trabajo objeto.

Cambiar el nombre de ActiveSheet

1 ActiveSheet.Name = "NewName"

Cambiar nombre de hoja por nombre

1 Hojas de cálculo ("OldSheet"). Nombre = "NewName"

Cambiar nombre de hoja por número de índice de hoja

Aquí usamos 1 para cambiar el nombre de la primera hoja en el libro de trabajo.

1 Hojas de cálculo (1) .Name = "NewName"

Cambiar nombre de hoja por nombre de código

Este código cambiará el nombre de una hoja usando su nombre de código VBA (discutido anteriormente):

1 Component.Name = "NewName"

Compruebe si existe el nombre de la hoja

Creamos una función para probar si ya existe una Hoja con un nombre en particular.

123456789101112 Prueba si existe un rango en una hoja.'Deje el rango en blanco para probar si la hoja existe'Entradas:'WhatSheet - Nombre de cadena de la hoja (por ejemplo, "Hoja1")'WhatRange (opcional, predeterminado = "A1"): nombre de cadena del rango (ex "A1")Función RangeExists (WhatSheet como cadena, ByVal opcional WhatRange como cadena = "A1") como booleanoPrueba de atenuación como rangoEn caso de error, reanudar siguienteEstablecer prueba = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0En caso de error, vaya a 0Función final

La función devolverá VERDADERO si la Hoja existe, o FALSO si no existe.

Usa la función así:

123 Sub Test_SheetExists ()MsgBox RangeExists ("configuración")End Sub

Copiar hoja y cambiar nombre

Este ejemplo es de nuestro artículo sobre Copiar hojas.

Después de copiar y pegar una hoja, la hoja recién creada se convierte en ActiveSheet. Entonces, para cambiar el nombre de una hoja copiada, simplemente use ActiveSheet.Name:

12345678 Sub CopySheetRename2 ()Hojas ("Hoja1"). Copiar después: = Hojas (Hojas.Cuenta)En caso de error, reanudar siguienteActiveSheet.Name = "Última hoja"En caso de error, vaya a 0End Sub

Nota: Agregamos manejo de errores para evitar errores si el nombre de la Hoja ya existe.

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

wave wave wave wave wave