How to Add Macro to Workbook using Excel VBA
Here is a simple procedure to add a macro to the current workbook using VBComponents
Sub Add_Macro_To_ThisWorkbook()
Dim VBP As VBProject
Dim VBM As VBComponent
Dim VBModule As CodeModule
Dim VBProc As VBComponent
Set VBP = ThisWorkbook.VBProject
Set VBModule = VBP.VBComponents.Item("ThisWorkbook").CodeModule
VBModule.AddFromString ("Sub Sample_Macro" & vbCrLf & "ret = msgbox (""Hello VBADUD"") " & vbCrLf & "End Sub")
End Sub
Showing posts with label VBComponents. Show all posts
Showing posts with label VBComponents. Show all posts
Tuesday, September 30, 2008
Saturday, May 26, 2007
Delete Module on the Fly using VBA
VBA Delete Bas Module / Class Modules
Sub Delete_BasModule_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("MyMacro")
' Delete the module
ActiveWorkbook.VBProject.VBComponents.Remove VBC
End Sub
Dynamic Deletion of Bas Module, Dynamic Deletion of Bas Module, Automatic Deletion of Bas Module, Delete Module using VBA, VBA Delete Module, VBA Detach Module to Workbook
Sub Delete_BasModule_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("MyMacro")
' Delete the module
ActiveWorkbook.VBProject.VBComponents.Remove VBC
End Sub
Dynamic Deletion of Bas Module, Dynamic Deletion of Bas Module, Automatic Deletion of Bas Module, Delete Module using VBA, VBA Delete Module, VBA Detach Module to Workbook
Insert User Form on the Fly
Automatic Creation of User Form
Sub Insert_Form_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Workbooks.Add
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents.Add(vbext_ct_MSForm)
VBC.Name = "frmMyForm"
End Sub
Dynamic Insertion of User Form, Dynamic Creation of User Form, Automatic Creation of User Form, Dynamically Create New User Form using VBA, VBA Create Module, VBA Attach Module to Workbook
Sub Insert_Form_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Workbooks.Add
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents.Add(vbext_ct_MSForm)
VBC.Name = "frmMyForm"
End Sub
Dynamic Insertion of User Form, Dynamic Creation of User Form, Automatic Creation of User Form, Dynamically Create New User Form using VBA, VBA Create Module, VBA Attach Module to Workbook
Insert Class Module on the Fly
Dynamic Insertion of Class Module
Sub Insert_Class_Module_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Workbooks.Add
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents.Add(vbext_ct_ClassModule)
VBC.Name = "clsMyClass"
End Sub
Dynamic Insertion of Class Module, Dynamic Creation of Class Module, Automatic Creation of Class Module, Create New Module using VBA, VBA Create Module, VBA Attach Module to Workbook
Sub Insert_Class_Module_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Workbooks.Add
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents.Add(vbext_ct_ClassModule)
VBC.Name = "clsMyClass"
End Sub
Dynamic Insertion of Class Module, Dynamic Creation of Class Module, Automatic Creation of Class Module, Create New Module using VBA, VBA Create Module, VBA Attach Module to Workbook
Insert Module on the Fly
Dynamic Insertion of Bas Module using VBComponents
Many a times we need to create Workbook through program and add some code to the workbook. If the both workbook and code are standard and do not change, we could use some template. On the other hand, if your requirement has constantly changing workbook and a relatively unstable code you can't use templates.
You need to rely on the VBComponent programming to dynamically create the Module in the Workbook
Sub Insert_BasModule_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Workbooks.Add
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents.Add(vbext_ct_StdModule)
VBC.Name = "MyMacro"
End Sub
Dynamic Insertion of Bas Module, Dynamic Creation of Bas Module, Automatic Creation of Bas Module, Create New Module using VBA, VBA Create Module, VBA Attach Module to Workbook
Many a times we need to create Workbook through program and add some code to the workbook. If the both workbook and code are standard and do not change, we could use some template. On the other hand, if your requirement has constantly changing workbook and a relatively unstable code you can't use templates.
You need to rely on the VBComponent programming to dynamically create the Module in the Workbook
Sub Insert_BasModule_To_WorkBook()
' This program will need reference to Microsoft Visual Basic for Extensibility Library
Dim VBP As VBProject
Dim VBC As VBComponent
Dim VBMod As CodeModule
' -----------------------------------------------------------
' Coded by Shasur for http://vbadud.blogspot.com
' -----------------------------------------------------------
Workbooks.Add
Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents.Add(vbext_ct_StdModule)
VBC.Name = "MyMacro"
End Sub
Dynamic Insertion of Bas Module, Dynamic Creation of Bas Module, Automatic Creation of Bas Module, Create New Module using VBA, VBA Create Module, VBA Attach Module to Workbook
Subscribe to:
Posts (Atom)
Download Windows Live Toolbar and personalize your Web experience! Add custom buttons to get the information you care about most.