Microsoft ExcelでVBAを使用してワークシート・モジュール名の名前を変更し
この記事では、ワークシートのモジュール名を変更するためのマクロを作成します。
各ワークシートには、ワークシートモジュールと呼ばれる1つのモジュールが関連付けられています。ワークシートモジュールには、ワークシートに関連するイベントのVBAコードと、ワークシートに挿入されたActiveXコントロールにリンクされたイベントのコードが含まれています。各ワークシートモジュールには一意の名前があります。
この例では、多くのワークシートを含むワークブックがあり、ワークシートモジュール名はSheet10、Sheet11などです。
Sheet1、Sheet2などの順序でワークシートモジュール名の名前を変更します。
ロジックの説明
ワークシートモジュールの名前を変更するための「ChangeAllWorksheetCodenames」プロシージャを作成しました。
ワークブックに存在するすべてのワークシートのワークシートモジュール名の名前を変更したいので、WORKSHEETSコレクション内に存在するすべてのワークシートをループするためにFORループを使用しました。
ワークシートのワークシートモジュール名の名前を変更するために、VBCOMPONENTのCODENAMEプロパティを変更して、ワークシートモジュールに新しい名前を割り当てました。
コードについては以下に従ってください
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]までご連絡ください