Create Event Code For Controls Created At Runtime

May 21, 2008

I have a code that adds a couple of ComboBoxes to a UserForm (the number of ComboBoxes is variable). Now that I want to control a certain ComboBox based on the selected value of another ComboBox (change or click event), how do I do that via VBA code?

View 3 Replies


Event Handling For Controls Created At Runtime

Dec 14, 2009

I am having trouble working through the examples given on other posts for this topic. I have a userform that creates a number of controls at runtime. One group of controls is a series of textboxes and a label underneath that sums the values of the textboxes. When a user changes the value in a textbox the label needs to update the sum. I have read about created class modules to define the event but it is all going over my head.

A piece of the code that creates the controls is:

View 14 Replies View Related

Event Handler Attached To Runtime Created Object

Jul 21, 2006

I'm trying to attach Worksheet_Change to a worksheet created at runtime. Usually you put it in the code window of the Sheet object but what do you do when you create the worksheet at runtime?

View 9 Replies View Related

Create Click Events For Command Buttons Created Dynamically At Runtime

Apr 2, 2013

I have a userform that has one combobox at the top created manually. When the userform is opened, the user select an option in the combobox (these options are taken from a range on 1 worksheet). From the selection of the combobox, I use the comboxbox's change event to create and display 5 columns of textboxes and 2 columns of command buttons on the userform.

The number of rows of textboxes created depend on the option selected from the combobox since each option links to a different range of cells. Each of the 5 textboxes in each are set to be ".enabled = False" and display text as per the cell values within a range on another worksheet. 2 Columns of command buttons are created at the end of each row of textboxes - 1 is enabled and the other is not.

The creation of the textboxes and command buttons works as required. However, I am having problems with setting click events for each command buttons. When the 1st column of Command buttons are created, I need the click events to be created and filled out with 2 actions:

1. Enable all textboxes in the same row as the command button

2. Enable the other command button in the same row.

Here is the code I have so far that creates the textboxes and command buttons.

Each of the 5 textboxes and 2 command buttons have a unique name so the 1st row will have textbox and command button names of cTxtA1, cTxtB1, cTxtC1, cTxtD1, cTxtE1, CmdAmend1 and CmdConfirm1. The 2nd row will have the same names but with 2 on the end and so on. The bold sections is the code for the creation of the command buttons that I want click events for.


Private Sub CboTeamSelect_Change()
Application.ScreenUpdating = False
If CboGroupSelect.Value = "" Then Exit Sub
Dim cTxtA As Control, cTxtB As Control, cTxtC As Control, cTxtD As Control, cTxtE As Control
Dim CmdAmend As Control, CmdConfirm As Control
Dim iNum As Integer
Dim TxtTop As Long


View 2 Replies View Related

Add X Controls At Runtime Via Code

Sep 7, 2006

I give some integer "X" and the program must add "X" checkboxes on User Form.

View 5 Replies View Related

Create UserForm With Controls Via Macro Code

Apr 20, 2008

This code create a userform on the workbook opening .I'm having problems with

1. Closeing the Visual basic window after this procedure runs
2. Being able to use the create userformstext box value in other procedures
3. how to delete the userform on close

Sub AddUserFormInputRequest()
Dim objVBProj As VBProject
Dim objVBComp As VBComponent
Dim objVBFrm As UserForm
Dim objChkBox As Object
Dim x As Integer
Dim strCode As String
Dim firstLine As Long, SecondLine As Long
Set objVBProj = Application.VBE.ActiveVBProject
Set objVBComp = objVBProj.VBComponents.Add(vbext_ct_MSForm)
With objVBComp
. Name = "InputRequest"
. Properties("Width") = 200
.Properties("Height") = 100......................

View 6 Replies View Related

Create Event Procedure Via Code

Nov 15, 2006

I'm trying to add a worksheet event via code. It works OK when I run it on its own but I get a run-time error 9 subscript out of range error when I try to run it from another procedure.

Please find attached my 2 bits of code. Any help greatly appreciated.

This is the bit that works OK on its own but not when called from my other procedure

Sub Code_To_Write_Code()

'This writes code to the new sheet

Dim StartLine As Long
Dim SheetToAddCodeTo
SheetToAddCodeTo = ActiveSheet.CodeName

With ActiveWorkbook.VBProject.VBComponents(SheetToAddCodeTo).CodeModule
StartLine = .CreateEventProc("Calculate", "Worksheet") + 1 ..............

View 9 Replies View Related

Adding Events For Dynamically Created Controls

Oct 10, 2006

I have somecode that scan column "A", and add dynamically "TextBox" Control according to some condition.

How to add event on dynamically created controls?

Private Sub btnSubmit_Click()
Range(Selection, Selection.End(xlDown)).Select
For Each rng In Selection

View 9 Replies View Related

Saving MSForms.control Created At Runtime

Aug 16, 2006

I have code that creates a row of controls on an MSForms.Userform at runtime.

I would like the user to be able to save these controls so that they are available the next time he opens the form. The user would be able to add or delete a row of controls and save them AND the values that he has set. This allows great flexibility for each session using the form.

The values aren't a real problem - I've been using the SaveSettings function for the design time controls values. The runtime controls are combobox, textbox, listbox, checkbox.

I don't want to design-time build the controls and just toggle the visible property (not a good solution for my app).

View 3 Replies View Related

Using Class Module For Handling Events Of Dynamically Created Controls

Mar 4, 2009

I have a userform with a single blank multipage. At runtime additional pages are added, the number of pages depends on input from another userform. Six frames, containing labels, textboxes and comboboxes are then added to each page.

I need to be able to use the textbox and combobox change events of these dynamically created controls to perform lookups and calculations. Although I can name the controls at the time they are created, it is not feasible to write code specifically for each control (I can have over 1,600 text boxes distributed over 9 pages, for example).

Having searched for some time on how to achieve this I believe using a class module is the way to go. However, how to use a class module is just not sinking in I'm afraid.

HTML Private WithEvents mpTextBox As MSForms.TextBox
Private WithEvents mpComboBox As MSForms.ComboBox

Private Sub Class_Initialize()
Set mpTextBox = MSForms.TextBox
Set mpComboBox = MSForms.ComboBox
End Sub

Private Sub mpComboBox_Change()
MsgBox "ComboBox value has been changed."
End Sub...........................................

View 2 Replies View Related

UserForm Controls Not Displaying At Runtime

Feb 2, 2005

I've created several UserForms, for some reason this one won't co-operate!

Issue are:
1. Have to click the OK button 3 times for the code to execute (this does not occur when I filter through the code in debug/F8 mode).

2. Before processing I have a label and image set to visible = true that won't appear on the form at runtime (this works when I filter through the code in debug/F8 mode).

View 7 Replies View Related

Form Controls - Save Property Changes Set At Runtime?

Jun 30, 2014

Imagine I have a form with a few controls on it. And the controls properties are set up at runtime.

Is there any way possible to save the property changes that were made at runtime to the controls themselves? I mean - short of manually editing all the controls at Design time?

This might be easier to explain by example. See dummy code below. Using this example - I want to find something that will save the Caption of CommandButton1 as "TestMe" (rather than have it only temporarily set at runtime).

View 2 Replies View Related

Excel2010 :: Userform Control Events For Controls Added During Runtime

Nov 20, 2013

I am using table driven forms controls on userforms. E.g.:


[Code] .....

I use the following (work in progress) function to add the controls to the userform (usually added to page or frame).

Public Function AddControls(ByVal objTarget As Object, ByVal strUiName As String)
Dim rngControls As Excel.Range, rngProperties As Excel.Range
Dim rngControl As Excel.Range, rngProperty As Excel.Range
Dim objControl As Object

With shtFormUI
Set rngControls = .Range("D2:D" & .Range("D" & .Rows.Count).End(xlUp).Row)

[Code] .....

Now I need a means of trapping the controls events. I thought I could use a class, e.g.:

Option Explicit

Public WithEvents lblLabel As MSForms.Label
Public WithEvents tbxTextBox As MSForms.TextBox
Public WithEvents cbxComboBox As MSForms.ComboBox
Public WithEvents lbxListBox As MSForms.ListBox
Public WithEvents cbtCommandButton As MSForms.CommandButton

Private Sub lblLabel_Click()

[Code] .....

It seems I cannot reference the controls because I they are added at runtime. For the given example, I want to run whatever procedure name appears for lblPrimaryContact in column AC (click event). So in my userform module I instantiate the class, but I get an error when I try and reference the control:

Set m_clsFormEvents.lblLabel = Me.lblPrimaryContact
Error is "method or data member not found".

Any alternative method to grab the click event for the control added at runtime?

View 9 Replies View Related

Before Double Click Event Of Worksheet Created By Program

Oct 19, 2007

My program(which is an add-in, or will be when I've finished writing it) creates a new worksheet called "Groups Summary" I would like this sheet to be locked so that the user can not modify anything on it. I would also like that if they double click a cell this will launch a userform if based on certain conditions.

I believe this code would have to go in the worksheet itself, so the question is how do I get the macro to enter code into a worksheet that it creates?

Is there a way to write it in a standard module and then automatically copy it when the worksheet is created?

View 10 Replies View Related

Keydown To Effect To All Controls That Support Event

Dec 31, 2006

Is there a way to fix a private sub to catch keydown effect of various combos and textboxes of my userform?

Instead of typing the same thing to each and every control's keydown event just call a sub. Code goes like:

Select Case KeyCode
Case 112
ShellExecute 0, "open", "hh.exe", ThisWorkbook.Path & "1.chm", "", 1
Case 113
If MsgBox("Backup now", vbQuestion + vbYesNo) = vbYes Then BackUp
Case 114
Col = 3
Case 115
Case 116

Instead of that, if i place code in a private sub test() just call test in keydown event

View 9 Replies View Related

Stop Controls Change Event Firing

Nov 6, 2006

I want to be able to reset the value in a combobox, but without the combobox executing code, when it resets. Is there any way of doing this?

I have tried the code below but the ComboBox still executes when its value is changed.

Sub Reset_combobox()
Worksheets("Sheet1").ComboBox1.Enabled = False
Worksheets("Sheet1").ComboBox1.Value = 1
Worksheets("Sheet1").ComboBox1.Enabled = True
End Sub

The workbook containing the above is attached.

View 7 Replies View Related

Class Module Change Event For Controls

Nov 20, 2006

I have a class module (MyCtrlEvents) with a sub (TxtGroup_Change) which I want to handle on a change event for some specific textboxes.

When the form is opening I don't get the correct sum for the textbox "TBSum601". It should be 200 but I get 14464

When I then also change a number in the form for any control like "TB7%", the change trigger event doesn't seem to occur....

View 9 Replies View Related

2002 Code V 97 Code: Add A Small Workbook Open Event Code Which Works For Me But Debugs For The Others

Jan 27, 2009

I use excel 2002 but some of my office are on 97, i want to add a small workbook open event code which works for me but debugs for the others?? The code is basically, go to a tab, on that tab and that range sort..

View 2 Replies View Related

BeforeSave, Create Folder & Sub-foldername If Has Not Been Created

Oct 13, 2004

Example below is in my macro and when my peer is running this worksheet which has Workbook_Open() enabled in "ThisWorkbook", the outcome is that he can not successfully save this workbook because he doesn't have the folder and sub directory in his C: drive.

How do I code it such that in the event the user does not have the specified folder and sub-foldername, it will automatically create one for him and save it as "C:Spare PartsCritical ListStocking Status.xls".

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:Spare PartsCritical ListStocking Status.xls"

View 3 Replies View Related

Create Controls Of A Userform On The Fly

May 18, 2006

I am trying to create some controls in a userform on the fly based on the data in a sheet. The part of my code is the following:

summaryForm.Controls.Add bstrProgID:="forms.label.1", Name:="LAWts", Visible:=True
With summaryForm.Controls("LAWts")
.Top = 120
.Left = 20
.Height = 18
.Width = 300
.Caption = "Weights: "
End With

Question I is that how can I connet this textbox to a click event or just to a procedure when it is clicked? I tried to use OnAction but it does not work for textbox in a userform. Question II is that how can I find the all properties of a textbox or any other controls? Is there a manuel or reference available on the internet?

View 3 Replies View Related

Dynamically Create UserForm Controls

Nov 29, 2007

I am working on a dynamically produced userform but the dynamically created Cancel and OK buttons don't work. I have been able to get round it by adding the buttons to the top of the form (non- dynamic) but I'd really like to be able to create them dynamically based on variable for other parts of the project. How can I produce dynamic command buttons that actually work?

Here's my code but I'd be happy with generic code I could use.

Private Sub UserForm_Activate()
' Define variables
Dim LabelV As MSForms.Label
Dim CheckboxV As MSForms.Checkbox
Dim rngFields As Excel.Range
Dim field As Excel.Range
Dim lngNextTop As Long
Dim lngTitleBarHeight As Long
Dim ColumnNum As Integer

' Set constants
' Choose height and width of Label box
Const cTextBoxHeight As Long = 12..............

View 9 Replies View Related

Create Textboxes During Runtime

Jul 27, 2014

I am trying to create textboxes during runtime

The seceond For(c) is working, but not the first For (r)

This is my data looks like at the moment, it Changes.!




Dim r As Long, c As Long
i = 2
j = 1
For r = 1 To 4


View 6 Replies View Related

Create UserForm During RunTime

Jun 18, 2009

I am trying to create a userform during the progression of my code. I found this is the MS help website but it doesn't work for me . .

Sub BuildMyForm()
Set MyNewForm = _
End Sub

View 9 Replies View Related

Programmatically Create ActiveX Worksheet Controls

Apr 2, 2008

I created a macro to create command buttons on sheet 1 of my worksheet. The created buttons using oleobject and class type: forms.commandbutton1, creates an object with no properties on the sheet (i.e. if you right click on it excel thinks it's an object and not a control.) Is there a way to create it as a control?

View 4 Replies View Related

2007 Doesn't Want To Open WB Created In Code

May 17, 2007

In my first workbook I select an area to copy/paste into a new wb with this code (from the board)

[Set source = Range("A55:K109").SpecialCells(xlCellTypeVisible)

Dim FName As String
Dim VBComp As VBComponent
Dim wbnew As Workbook
Dim x As String

Set wbnew = Workbooks.Add

Set dest1 = ActiveWorkbook

With ActiveWorkbook
FName = .Path & "code.txt"
If Dir(FName) "" Then
Kill FName
End If
For Each VBComp In .VBProject.VBComponents
If VBComp.Type vbext_ct_Document Then
VBComp.Export FName
wbnew.VBProject.VBComponents.Import FName
Kill FName
ElseIf VBComp.Name = "ThisWorkbook" Then
If VBComp.CodeModule.CountOfLines > 0 Then

The complete code in this workbook sends the entire workbook to one person and it creates a new workbook and pastes a range and the VB code needed to run the button it copies and sends this to another person.

The codes runs excellent in 2003. In 2007 I can get the entire workbook to send to the first person, but

The email to the second person will send, but they can not open the workbook. I get the error "File Format or file extension is not valid. Please verify file is not corrput and that extension matches file.

I know trust access to visual basic has to be enabled in 2003 for this code to run, so in 2007 I went to the Excel options trust center and clicked the box which says Trust access to the VBA project object model.

When I step through this code everything looks great. The worksheet area is correct, the button is copied, the code can be seen in the properties window, but then I get the email and it will not open.

There is even a line of code that kills the file after the mail is sent (temporary saving location is the desktop). So, I used a ' and made it a comment line so I could try to open the file from my desktop. It will not open there either. File extension being used is .xlsm

View 9 Replies View Related

Writing The VBA Code For The Objects Created During Execution.

Apr 27, 2006

See the attached Workbook, which explains the problem easier.

View 9 Replies View Related

Runtime Error 429 - ActiveX Component Can't Create Object

Dec 8, 2012

Following bit of code runs fine if placed in Word VBA:

Public Sub TaskUsageInExcel()
Dim tsk As Task
For Each tsk In Tasks 'Gives RTE 429 when run through Excel
Debug.Print tsk.Name
Next tsk
End Sub

So I referenced 'Microsoft Word 12.0 Object Library' in Excel and ran the code and it gave me this error 429. Noticeable part was, no instance of word was running at that time.

So I modified the code as below:

Public Sub TaskUsageInExcel2()
Dim wdApp As Word.Application
Dim tsk As Task


View 4 Replies View Related

Runtime Error 1004 :: User Create Forumula In A Combo Box

May 7, 2007

The app. that I have been developing requires the user to create a formula in a combobox in a userform that I have setup for them.

They have a list of variables that they can choose from, which they are allowed to use in their formula creation.

A typical formula may look like this:

=SUM(25*DistFromBack) where DistFromBack = 4

I then take their formula and place it out on the sheet which returns me a value of (in this case) 100.

Now this works fine until someone wrote a formula that looked like this:


Now with the double brackets at the front it creates a formula that Excel cant deal with and gives me a 'Runtime error 1004'.

I have tried to trap this error (On Error Goto .....) but unsucessful.

I would really like to have a check when the user types an erronous formula, but dont really know how to go about it.

View 13 Replies View Related

Disable A Controls Code

May 11, 2007

I have two radio buttons. Let's call them Button_1 and Button_2. They both have code behind the click event.

One of the lines in the Button_1 code makes the value of Button_2 false. If Button_2's value at the time is true, the Button_2 click event fires off and runs through it's code.

How do I disable Button_2's click event in this scenario so the value changes, but the code in it's click event won't run?

I tried application.enableevents = false, but that didn't do it.

View 9 Replies View Related

Add Controls To UserForm With Code

Dec 14, 2007

way to allow a user to add a control to a userform without going into the VBE. Here is the situation, I am developing a userform to calculate a projected budget. I want the user to be able to select the number of controls to add, and click a command button to add them. Based on other selections that the user makes, different controls would automatically be added. Is this possible? As a follow up, will I be able to atttach code to these new controls?

View 9 Replies View Related

Copyrights 2005-15, All rights reserved