Esta opção envolve mais aqueles que já têm alguma experiência com o desenvolvimento VBA. Esta funcionalidade permite desenvolver o funcionalidade inexistentes a partir da necessidade da aplicação. Isso implica na criação de códito em tempo real.
- De que modo posso criar um novo módulo usando o próprio VBA?
Sub CreateNewMod (ByVal wb As Workbook, ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String)
' Cria um novo modulo a partir do ModuleTypeIndex
' (1=standard module, 2=userform, 3=class module) in wb
' Renomeie o module para NewModuleName (se possivel)
Dim VBC As VBComponent, mti As Integer
Set VBC = Nothing
Let mti = 0
Select Case ModuleTypeIndexCase 1: mti = vbext_ct_StdModule ' standard module
Case 2: mti = vbext_ct_MSForm ' userform
Case 3: mti = vbext_ct_ClassModule ' class moduleEnd SelectIf mti <> 0 ThenOn Error Resume Next
Set VBC = wb.VBProject.VBComponents.Add(mti)
If Not VBC Is Nothing Then
If NewModuleName <> "" ThenLet VBC.Name = NewModuleNameEnd IfEnd If
On Error GoTo 0
Set VBC = NothingEnd If
End Sub
Como usar:
CreateNewModule ActiveWorkbook, 1, "mdl_TESTE"
Tags: Bernardes, MS, Microsoft, Office, Excel, copy, module, code, activeWorkbook, workbook, create, realtime,
André Luiz Bernardes
A&A® - Work smart, not hard in any place.
Skype: inanyplace