Neste artigo, criaremos uma macro para inserir um novo módulo em uma pasta de trabalho do Excel.
Antes de executar a macro, precisamos especificar o tipo e o nome do módulo.
Como se pode ver na imagem, temos apenas um módulo na pasta de trabalho. Neste exemplo, adicionaremos módulo de classe à pasta de trabalho.
Explicação lógica
Neste artigo, criamos duas macros, “CreateNewModule” e “CallingProcedure”.
A macro “CreateNewModule” é usada para adicionar um novo módulo, dependendo da entrada fornecida.
A macro “CallingProcedure” é usada para fornecer a entrada e chamar o módulo principal.
Explicação do código
Definir ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)
O código acima é usado para adicionar um novo módulo no projeto VBA.
ModuleComponent.Name = NewModuleName
O código acima é usado para renomear o componente inserido.
ModuleTypeConst = Cint (Intervalo ("D12"). Valor)
O código acima é usado para obter o valor inteiro da célula D12.
ModuleName = Sheet1.TextBox2.Value
O código acima é usado para obter o valor da caixa de texto.
Siga abaixo para o código
Option Explicit Sub CreateNewModule (ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) 'Declarando variáveis Dim ModuleComponent As VBComponent Dim WBook As Workbook' Criando objeto de workbook ativo Set WBook = ActiveWorkbook Set ModuleComponent = Nothing On Error Resume Next 'Adicionando novo componente de módulo Set ModuleComponent = WBook.VBProject.VBComponents.Add (ModuleTypeIndex) If Not ModuleComponent Is Nothing Then 'Renomeando o novo módulo ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Nothing End Sub Sub CallingProcedure ()' Declarar variáveis Dim ModuleTypeConst como Integer Dim ModuleName As String 'Obtendo valor do nome do módulo e tipo de módulo ModuleTypeConst = CInt (Range ("D12"). Value) ModuleName = Sheet1.TextBox2.Value' Chamando CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub
Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.
Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail