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 ModuleTypeIndex
Case 1: mti = vbext_ct_StdModule ' standard module
Case 2: mti = vbext_ct_MSForm     ' userform      
Case 3: mti = vbext_ct_ClassModule ' class module
End Select

If mti <> 0 Then
On Error Resume Next  
 
Set VBC = wb.VBProject.VBComponents.Add(mti)
       
If Not VBC Is Nothing Then    
If NewModuleName <> "" Then
Let VBC.Name = NewModuleName
End If
End If      

On Error GoTo 0      

Set VBC = Nothing
End 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® - In Any Place.
bernardess@gmail.com

Nenhum comentário:

Postar um comentário

diHITT - Notícias