В этой статье мы создадим макрос для переименования имени модуля рабочего листа.

Каждый рабочий лист имеет один связанный с ним модуль, известный как модуль рабочего листа. Модуль рабочего листа содержит код VBA для событий, связанных с рабочим листом, и код для событий, связанных с любым элементом управления Active X, вставленным в рабочий лист. Каждый модуль рабочего листа имеет уникальное имя.

В этом примере у нас есть рабочая книга с множеством рабочих листов, а имена модулей рабочего листа похожи на Sheet10, Sheet11 и т. Д.

ArrowRawSheet

Мы хотим переименовать имя модуля рабочего листа в такой последовательности, как Sheet1, Sheet2 и т. Д.

Логическое объяснение

Мы написали процедуру «ChangeAllWorksheetCodenames» для переименования модуля рабочего листа.

Поскольку мы хотим переименовать имя модуля рабочего листа для всех рабочих листов, присутствующих в книге, мы использовали цикл FOR для циклического перебора всего рабочего листа, присутствующего в коллекции WORKSHEETS.

Для переименования имени модуля рабочего листа мы присвоили новое имя модулю рабочего листа, изменив свойство CODENAME объекта VBCOMPONENT.

ArrowAfterRunningMacro

Пожалуйста, введите код ниже

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

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]