En este artículo, crearemos una macro para cambiar el nombre del módulo de la hoja de trabajo.

Cada hoja de trabajo tiene un módulo asociado, conocido como módulo de hoja de trabajo. El módulo de hoja de trabajo contiene código VBA para eventos relacionados con la hoja de trabajo y código para eventos vinculados con cualquier control Active X insertado en la hoja de trabajo. Cada módulo de la hoja de trabajo tiene un nombre único.

En este ejemplo, tenemos un libro de trabajo con muchas hojas de trabajo y los nombres de los módulos de la hoja de trabajo son como Sheet10, Sheet11, etc.

ArrowRawSheet

Queremos cambiar el nombre del módulo de la hoja de trabajo en una secuencia como Hoja1, Hoja2, etc.

Explicación lógica

Hemos escrito el procedimiento «ChangeAllWorksheetCodenames» para cambiar el nombre del módulo de la hoja de trabajo.

Como queremos cambiar el nombre del módulo de la hoja de trabajo de todas las hojas de trabajo presentes en el libro de trabajo, hemos utilizado el bucle FOR para recorrer toda la hoja de trabajo presente dentro de la colección WORKSHEETS.

Para cambiar el nombre del módulo de la hoja de trabajo de la hoja de trabajo, hemos asignado un nuevo nombre al módulo de la hoja de trabajo modificando la propiedad CODENAME del VBCOMPONENT.

ArrowAfterRunningMacro

Siga a continuación el código

Option Explicit

Sub ChangeAllWorksheetCodenames()



'Code for renaming worksheet codemodule names

Dim ws As Worksheet, i As Integer

i = 0

'Looping through all the worksheets in the active workbook

For Each ws In ActiveWorkbook.Worksheets

i = i + 1



'Putting a check over error occurence while renaming

'If error occurs at runtime, code will skip the error and

'Start executing from next line

On Error Resume Next



'Code for renaming codemodule name

ws.Parent.VBProject.VBComponents(ws.CodeName).Properties("_CodeName") = _

"Sheet" & i



'Cancelling the effect error check statement we used earlier,

'Code will not skip the code if any runtime error occurs

On Error GoTo 0



Next ws

Set ws = Nothing

End Sub

Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]