Переименовать имя модуля листа с помощью VBA в Microsoft Excel
В этой статье мы создадим макрос для переименования имени модуля рабочего листа.
Каждый рабочий лист имеет один связанный с ним модуль, известный как модуль рабочего листа. Модуль рабочего листа содержит код VBA для событий, связанных с рабочим листом, и код для событий, связанных с любым элементом управления Active X, вставленным в рабочий лист. Каждый модуль рабочего листа имеет уникальное имя.
В этом примере у нас есть рабочая книга с множеством рабочих листов, а имена модулей рабочего листа похожи на Sheet10, Sheet11 и т. Д.
Мы хотим переименовать имя модуля рабочего листа в такой последовательности, как Sheet1, Sheet2 и т. Д.
Логическое объяснение
Мы написали процедуру «ChangeAllWorksheetCodenames» для переименования модуля рабочего листа.
Поскольку мы хотим переименовать имя модуля рабочего листа для всех рабочих листов, присутствующих в книге, мы использовали цикл FOR для циклического перебора всего рабочего листа, присутствующего в коллекции WORKSHEETS.
Для переименования имени модуля рабочего листа мы присвоили новое имя модулю рабочего листа, изменив свойство CODENAME объекта VBCOMPONENT.
Пожалуйста, введите код ниже
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]