Cambiar el nombre del nombre del módulo de hoja de cálculo utilizando VBA en Microsoft Excel
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.
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.
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]