Microsoft ExcelでVBAを使用して、新しいモジュールを作成します。
この記事では、Excelブックに新しいモジュールを挿入するためのマクロを作成します。
マクロを実行する前に、モジュールのタイプと名前を指定する必要があります。
スクリーンショットでわかるように、ワークブックにはモジュールが1つしかありません。この例では、クラスモジュールをブックに追加します。
ロジックの説明
この記事では、「CreateNewModule」と「CallingProcedure」の2つのマクロを作成しました。
「createNewModule」マクロは、提供された入力に応じて、新しいモジュールを追加するために使用されます。
「CallingProcedure」マクロは、入力を提供し、メインモジュールを呼び出すために使用されます。
コードの説明
ModuleComponent = Wbook.VBProject.VBComponents.Add(ModuleTypeIndex)を設定します
上記のコードは、VBAプロジェクトに新しいモジュールを追加するために使用されます。
ModuleComponent.Name = NewModuleName上記のコードは、挿入されたコンポーネントの名前を変更するために使用されます。
ModuleTypeConst = Cint(Range( “D12″)。Value)
上記のコードは、セルD12から整数値を取得するために使用されます。
ModuleName = Sheet1.TextBox2.Value上記のコードは、テキストボックスから値を取得するために使用されます。
コードについては以下に従ってください
Option Explicit Sub CreateNewModule(ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) 'Declaring variables Dim ModuleComponent As VBComponent Dim WBook As Workbook 'Creating object of active workbook Set WBook = ActiveWorkbook Set ModuleComponent = Nothing On Error Resume Next 'Adding new module component Set ModuleComponent = WBook.VBProject.VBComponents.Add(ModuleTypeIndex) If Not ModuleComponent Is Nothing Then 'Renaming the new module ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Nothing End Sub Sub CallingProcedure() 'Declare variables Dim ModuleTypeConst As Integer Dim ModuleName As String 'Getting value of module name and type of module ModuleTypeConst = CInt(Range("D12").Value) ModuleName = Sheet1.TextBox2.Value 'Calling CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub
このブログが気に入ったら、FacebookやFacebookで友達と共有してください。
皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください