Excel VBA UserForm CommandButton

CommandButton is one of the UserForm control. You can select and drag CommandButton on the UserForm. CommandButton is used to run or execute a macro or procedure. It performs a task or an action when a user clicks on a command button. Command Button can be used on the WorkSheet or UserForm. Please find more details about ActiveX CommandButton Control in the following chapter. You can see how we are adding or deleting command button on the UserForm or Worksheet.

VBA ActiveX CommandButton Control on the UserForm

Please find more details about VBA ActiveX Command Button Control on the UserForm.

PREMIUM TEMPLATES LIMITED TIME OFFER

ON SALE80% OFF

50+ Project Management Templates Pack
Excel PowerPoint Word

Advanced Project Plan & Portfolio Template
Excel Template

Ultimate Project Management Template
Excel Template

20+ Excel Project Management Pack
Excel Templates

20+ PowerPoint Project Management Pack
PowerPoint Templates

10+ MS Word Project Management Pack
Word Templates


  1. Go To Developer Tab and then click Visual Basic from the Code or Press Alt+F11.
  2. Go To Insert Menu, Click UserForm. Please find the screenshot for the same.
  3. Drag a CommandButton on the Userform from the Toolbox. Please find the below screenshot for the same.
  4. Now double click on the Command Button, which is dragged on the UserForm .
  5. Now you can see the following code in the VBA Editor window.
  6. Private Sub CommandButton1_Click()
    
    End Sub
    
  7. Now add the following code to the in between above procedure.
  8. Code:

    Private Sub CommandButton1_Click()
     MsgBox "Hello!"
    End Sub
    
  9. Now, Press ‘F5’ to run the code. You can see the following Output. It is shown in the following Screen Shot.
  10. output:

Add dynamic CommandButton Control on the UserForm using VBA

Please find the following steps and example code, it will show you how to add dynamic Command Button control on the userform.

  1. Add command button on the userform from the toolbox.
  2. Right click on the command button, click properties
  3. Change the command button caption to ‘Create_CommandButton’
  4. Double click on the command button
  5. Now, it shows the following code.
  6. Private Sub CommandButton1_Click()
     
    End Sub
    
  7. Call the below procedure named ‘Add_Dynamic_CommandButton ’ and find the below procedure to run.
  8. Private Sub CommandButton1_Click()
     Call Add_Dynamic_CommandButton 
    End Sub
    

    Procedure to call in the Command Button :

    Sub Add_Dynamic_CommandButton()
     'Add Dynamic CommandButton and assign it to object 'CmdBtn'
     Set CmdBtn = UserForm2.Controls.Add("Forms.CommandButton.1")
     
     With CmdBtn
     'Assign CommandButton Name
     CmdBtn.Caption = "Dynamic CommandButton"
     
     'CommandButton Position
     .Left = 12
     .Top = 10
     .Width = 102
     End With
    End Sub
    
  9. Now, click F5 to run the macro, click ‘Create_CommandButton’ button to see the result.
  10. You can see the created dynamic Command Button which is shown in the following screen shot.
  11. output:

    Delete CommandButton Control on the UserForm using VBA

    Please find the below code, it will show you how to delete or remove a command button on the UserForm. In the below example, its deleting the command button named ‘New Button’ which is on the UserForm named ‘UserForm4’. We can use Remove method to delete the controls which are created during run time. Controls which are created during design time cannot be deleted using this method. Please find the below example and screen shots for better understand.
    Code 1: Adding CommandButton During Run Time

    Private Sub CommandButton1_Click()
     'We can use Add method to add the new controls on run time
     Set CmdBtn = Me.Controls.Add("Forms.CommandButton.1")
     With CmdBtn
     .Top = 20
     .Left = 20
     .Caption = "New Button"
     .Name = "cmdNew1"
     End With
     MsgBox "New button Added"
    End Sub
    

    Please find the below screen shot for your reference for the above macro and its output.
    When we click on Add Command Button:

    Code 2: Deleting or Removing CommandButton which is created during run time.

    Private Sub CommandButton2_Click()
     'We can use Remove method to delete the controls which are created during run time
     'Note: Controls which are created on design time can not be deleted using this method
     Me.Controls.Remove ("cmdNew1")
     MsgBox "New button Deleted"
    End Sub
    

    Please find the below screen shot for your reference for the above macro and its output.
    When we click on Delete Command Button:


 
Related Resource External VBA Reference
Excel VBA Reference Project Management Reference
VBA Reference:
Excel Reference:

Related pages


excel formulas greater thanpivot table tutorial excel 2007stacked pyramid chart excelhelpful excel macrosms excel concatenateexcel macros programmingvlookup codeexcel macro vlookupvba unload userformexcel insert tick boxexcel vba saveas fileformathlookup excel functionmultiple if condition in excelexcel multiple if statementsrefresh data in pivot tablesql dml statements examplesexcel formula iferrorexcel combo box vbavba drop down boxword vba checkboxdelete duplicates from excelvba macros tutorialsvba introductionexcel delete duplicate rowsnamed ranges vbavba save exceltutorial on pivot tables in excel 2010unprotect workbook excel 2007vba sample codechart types in excel 2010vba clearcontentsvba word userformvba open workbooksql vbamacro to delete duplicate rowsmerging excel sheets into oneunlock excel 2010 password protected filefunctions vbaunlock protected workbookexcel 2010 match functionhow to delete duplicate records in excel 2007remove blank rows in excel 2010excel dashboard template freevba dim variableexcel copy worksheetvba integer to stringmicrosoft excel adding columnsactivex exampleexcel implementation plan templatedatevalue excelvba popup messagewhat is the formula for adding a column in excelprotect worksheet excelhow to use option button in excelremove vbavba unlock sheetunhide row 1 in excelspeed up vbaexcel vba background colorlistbox codeinterview questions answers for freshersinserting columns in excelhyperlink formula in excelexcel 2010 pivot table wizardmerge excel rowsexcel macro delete sheetunlock excel file password protectedfso folderpivot table in excel 2010 tutorialvba insertvba hide columns