この記事では、ワークシートのモジュール名を変更するためのマクロを作成します。

各ワークシートには、ワークシートモジュールと呼ばれる1つのモジュールが関連付けられています。ワークシートモジュールには、ワークシートに関連するイベントのVBAコードと、ワークシートに挿入されたActiveXコントロールにリンクされたイベントのコードが含まれています。各ワークシートモジュールには一意の名前があります。

この例では、多くのワークシートを含むワークブックがあり、ワークシートモジュール名はSheet10、Sheet11などです。

ArrowRawSheet

Sheet1、Sheet2などの順序でワークシートモジュール名の名前を変更します。

ロジックの説明

ワークシートモジュールの名前を変更するための「ChangeAllWorksheetCodenames」プロシージャを作成しました。

ワークブックに存在するすべてのワークシートのワークシートモジュール名の名前を変更したいので、WORKSHEETSコレクション内に存在するすべてのワークシートをループするためにFORループを使用しました。

ワークシートのワークシートモジュール名の名前を変更するために、VBCOMPONENTのCODENAMEプロパティを変更して、ワークシートモジュールに新しい名前を割り当てました。

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]までご連絡ください