Controls Added To UserForm Not In Form's Object List
Jan 20, 2008
I have been working on large project using Excel VBA for several days. My code seems to be working correctly, but I have more to do and now, when I drag an object from the toolbox onto a UserForm, the object is not added to the list of objects on the form. If I go back to versions of the project that I was working on several days ago, there is no problem. If I run "Workbook Rebuilder", the objects that I have dragged onto the form are then added to the object list, but I still can't add new objects to forms from within the VBA editor. Is the project corrupted, or is there some other explanation, and are there any fixes? The code runs about 50 pages, and there are over 20 forms, so redoing from scratch is only a last resort option.
View 3 Replies
ADVERTISEMENT
Nov 20, 2013
I am using table driven forms controls on userforms. E.g.:
Excel 2010ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAG1UI NameMultiPage ParentPage
ParentControlNameTopLeftHeightWidthCaptionTagControlTipTextSpecialEffectWordWrap
MultiLineBorderStyleBorderColorBackColorBackStyleForeColorColumnCountColumnWidthsListStyle
[Code] .....
I use the following (work in progress) function to add the controls to the userform (usually added to page or frame).
Code:
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.:
cFormEvents
Code:
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:
Code:
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
Jun 26, 2013
I am needing to create a form that exports data (a quote) to an Excel Db (table) and is then able to recall the data back into the form. (the default form in excel does this and I want to copy that.)
Once the data is called back in, I can then export it to another Table to show that the quote has been approved and will be used.
I am having trouble with the VBA coding that copies the inputted quote in Cell C2 (the reference for the quote number) of the "Form" sheet and looks it up in the "Database" sheet. I have tried several variations of code, but nothing works so far.
-SS
Sub RecallQuote()
'
' RecallQuote Macro
'
Sheets("Form").Select
Range("C2").Select 'this is the cell that holds the quote number to look up from the table
[Code] ......
View 2 Replies
View Related
Nov 27, 2012
I have got a userform that fits my 24inch monitor screen perfectly, however it doesn't fit other screens. How do I get windows style scrollbars added to the form so people can use these to see the whole form?
View 3 Replies
View Related
Jun 27, 2012
I am using a dictionary object from the MS Scripting Runtime library to store a series of arrays and perform operations on the array cells as necessary. There is a for loop to go through the process of creating all of these entries. My issue is that when using the .exists property, it is returning a True even before the item has been added. Closer debugging indicates that the key is being added to the dictionary at the beginning of the for loop, even though no .add command is used and will not be used until the end of the loop. The result is that the values in the arrays do not totalize as intended.
Code for the dictionary build has been included below. I have attached the Excel file which contains the appropriate module which calls that function
VB:
Option Explicit[ATTACH]46705[/ATTACH]
Function DictAppTable(Loop_Range As Integer, Key_Range As Range, Dim_1 As Range, Dim_2 As Range)
Dim DictTable As Dictionary
Dim AppElement(0 To 0, 0 To 1) As Variant
Dim iD As Integer
Dim strAppID As String
[Code].... the previous post, as the pared down excel file which I posted had a slight error which prevented it from running
View 2 Replies
View Related
Nov 18, 2009
I have two linked ComboBoxes on a form. There are 10 Textboxes populated by ComboBox2’s choice. These controls are situated on two frame controls which are used for visual groupings only. I would like to clear everything except Combo1 when Combo1’s value is changed. ( Combo1 is a filtered key list using the dictionary. Script code)
I’ve written a small sub that is called to clear the textboxes, but its not reliable every time. It seems that if the scroll bar is used, and the user chooses Combo1 choice “NUTS/SEEDS”, the boxes aren’t cleared. In fact it will show the “Walnuts” info in Combo2.
View 4 Replies
View Related
Jun 8, 2007
Is there a short way to clear text boxes, check boxes and option buttons in one command. I dont want to delete them I want them to be able to accept more data once the operator has finished
View 9 Replies
View Related
Oct 24, 2007
I have form controls on my worksheets. How do I hide them? When I hide the row, the controls stay there. These controls don't seem to have that visible property like the VB control.
I'm thinking of using a validation->list instead, but then you don't see the drop down arrow.
View 9 Replies
View Related
Mar 12, 2007
I have 30 textboxes on my form, named "TextBox1" to "TextBox30".
When the user clicks the button to launch the form, I want to first hide all the textboxes (already done).
Then I want to loop from 1 to some predetermined number (between 1 and 30), and update the textbox whose name contains the number of the loop. For e.g.:
Sub ShowForm
Dim ctl
For Each ctl In frmKFF.Controls
If Left(ctl.Name,7) = "TextBox" Then
ctl.Visible = False
End If
Next ctl
View 4 Replies
View Related
Apr 28, 2014
I cant get this to work, it comes back with run-time error '424': object required
I am using form controls option button not activeX controls.
HTML Code:Â
Sub OptionButton12_Click()
If OptionButton12.Value = True Then Range("D14").Value = "Alamo"
End Sub
Sub OptionButton13_Click()
If OptionButton13.Value = True Then Range("D14").Value = "ERAC"
End Sub
Sub OptionButton14_Click()
If OptionButton14.Value = True Then Range("D14").Value = "National"
End Sub
View 4 Replies
View Related
Jul 21, 2014
When I put form controls onto a spread sheet is there anywhere I can easily see and access its properties? Format Control is lacking many values and I do not see them in the vba project toolbar. I am trying to get checkbox locations and checkbox numbers if possible. If there isn't an easy place to see these is it still possible to get the checkbox locations in VBA?
View 7 Replies
View Related
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
Aug 10, 2014
My form controls (cmd buttons) and images don't appear or don't work. I was working on a macro to cut and paste a set of cells (protected sheet, I did unprotect it), and I noticed the cmd button tied to this disappeared. It then re-appeared but I couldn't engage it. This is part of a larger workbook that consists of a single page of cmd buttons that release specific worksheets (no activex). These buttons disappeared and re-appeared and don't work either. When I select the button I can see the cell underneath light up. It's like the image is there but nothing else?
The macros run fine from VBA editor. I was thinking the issue had something to do protections? There are more than 5 passwords (set on a worksheet) being used here, there is a fair amount of protecting and unprotecting going on, and I loop through the worksheets several times. Everything was working fine and now I'm stuck. I was getting a the-object-invoked-has-disconnected-from-its-client error related to an "insert cells" command on a co-workers computer, but not on my machine. This is actually what I was trying to solve when it crapped out. I would delete the buttons and create them all again, but I can't even select them to delete them.
View 5 Replies
View Related
Oct 20, 2007
I am creating a form that performs several different functions. I would like to force a sequence of these functions by enabling/disabling the controls based on a variable.
For example, a form as two buttons Button1 and Button2. By default, Button1 is ENABLED and Button2 is DISABLED. When Button1 is clicked, a macro is run, where an Enable_Button2variable is initialized to FALSE. The last line of the macro sets the Enable_Button2 variable to TRUE. Then, because Enable_Button2 is now TRUE, Button2 then becomes ENABLED.
I am trying to apply this strategy to a ComboBox, ListBox and CommandButtons. I'm not sure what event to trigger on to poll the Enable_Button2 to enable/disable the control.
View 3 Replies
View Related
Apr 9, 2008
I am trying to dynamically add controls to my user form based on some values in my cell. I am successfully able to create a text box dynamically but my label is not getting displayed. here is my code
Private Sub UserForm_Activate()
On Error Resume Next
If (ThisWorkbook. Sheets("Sheet2").Cells(1, 8) <> "FALSE") Then
Dim ctl As Control
Dim ctl1 As Control
Set ctl1 = Me.Controls.Add("Forms.Label.1", ctl1, True)
With ctl1
View 9 Replies
View Related
Mar 31, 2009
I'm missing something in my UserForm initialization code. If I fill the form out once and click 'OK' (run the code to put the form data into a sheet), when I go back into the form all the old info is still there. If I then click 'Cancel' (Unload Me) and reopen the form, the old data is cleared out. What am I missing to make it clear it out the first time?
View 2 Replies
View Related
Dec 4, 2013
I need to make several exact duplicates of an existing worksheet which includes several form controls. Basic Copy/ Paste the worksheet works well but row heights are different and hidden rows are unhidden. Is there a way to make an EXACT duplicate ?
View 2 Replies
View Related
Jun 5, 2014
I have a worksheet with lots of things going on... the end user needs access to the Name field, DOB field, all the scroll and form control option buttons in the 9-question sheet, and the macro-enabled reset button at the bottom. Formulas are sprinkled throughout the worksheet, in columns T through AC... option button links go to AA and AB.
I would like to protect the entire sheet so none of the fields, except where indicated above, could be selected or edited... but when I protect the sheet, I get errors when trying to use you form controls, and the formulas do not respond. And finally, when protected, I get a debug error on the reset macro.
View 2 Replies
View Related
Sep 4, 2008
Is it at all possible to create a User Form where the number of CheckBoxes will be linked to the number of entries in a cell range?
For example I have a 3 records in the range A:A called "Blue", "Green", "Yellow". I want to have a user form with 3 CheckBoxes with the same caption names.
View 9 Replies
View Related
Jul 2, 2007
I am trying to change the property value of all optionbuttons on userform1 via userform2's deactivate event
Private Sub UserForm2_Deactivate()
If userform1.Controls = OptionButton Then
Value = False
End If
End Sub
View 5 Replies
View Related
Oct 13, 2007
I have created a userform to add a new user and his/her password to a list of usernames and passwords (which i use for login procedure). Now, as the login name must be unique, I would like the userform to disallow existent usernames from being added. How do I go about doing this?
View 9 Replies
View Related
Oct 5, 2007
I am trying to prevent/remove duplicates and blank rows from occuring in a spreadsheet which is being populated via a Userform. The user must be able to add items to the spreadsheet during the normal course of work, so I guess that the blank line removal should occur when they exit the module or application.
However, duplicate prevention is particularly important as the data being captured pertains to products. Column A of the spreadsheet contains the product code and that will be the "watch" column. I have tried various options, particularly for removing blank rows and have so far have not had success.
Something that I have noticed is that when a new item is 'added' to the spreadsheet and the job is either cancelled or not saved, that a simple resize of the range through a recount of the rows to the first one empty does not remove the blank lines which is interesting too.
View 6 Replies
View Related
Dec 21, 2009
I have two lists of components, a component from List A is added to one from List B and a total in £'s needs to be shown, simple enough I hear you say HOWEVER the LENGTH of component B is variable.
For example
Input part # ABC in A1 and £50 is shown as a total in D1, then input part # 123 in B1 and the length of 100 in C1 and the total changes to £100. Then if you change the figure to 200 the total changes to £150
View 7 Replies
View Related
Mar 14, 2008
I am having difficulty getting a script to work that manages duplicates being added to a worksheet from a userform. Each record is assigned a unique ID when it is added to the worksheet initially. The problem that I am having is that the user wants to add non-unique information to the worksheet in unique records periodically. I can do that, but I am looking to make the application more user-friendly by reducing the number of msgboxes he has to respond to in order to do this. I have some code below which works, but it needs to be smarter.
Private Sub UpdateContact()
Dim strAnswer As String
'Copy values from Customer Form controls to Data array
tbxWrkTel.Text = Format(tbxWrkTel, "000 000 0000")
tbxMobile.Text = Format(tbxMobile, "000 000 0000")
tbxHomeTel.Text = Format(tbxHomeTel, "000 000 0000")
If Not WorksheetFunction.CountIf(Sheet1.Columns(1), tbxCompany) > 0 Or _
Not WorksheetFunction.CountIf(Sheet1.Columns(2), tbxContact) > 0 Then 'To avoid duplicate data
If tbxCompany = "" Then tbxCompany = "-".........................
View 6 Replies
View Related
Aug 15, 2012
I have a userform that has nested multipages (5 in the outer page, 4 in the inner page).
On each of these multipages, I want to have the same controls (sliders) laid out in the same order - but with unique names, named after their tab location, for each control so I can use their value property later in the code.
I've designed the layout and named all the controls on my first sheet (e.g. Slider1Outer1Inner1). I now need a way of automating the replication of these across the other 19 sheets (including the nested inner multipage!); so that equivalent slider for example would be called Slider1Outer1Inner2, Slider1Outer1Inner3 etc.
I'm not sure about coding VBA to act on items within VBA...
VB:
" For each multipage in outer
For Each multipage In inner
For Each Object In current multipage
Copy inner.object -> Next multipage
Inner.object.name = CurrentOuter & CurrentInner & CurrentSlider "
View 2 Replies
View Related
Nov 17, 2008
What's the best way to hide controls on a userform? I have a userfrom with 2 datepicker one for start date and one for end date. I want them hidden until I use checkbox and check it to appear. I am using this code but nothing is work.
View 2 Replies
View Related
Jan 23, 2009
I have taken this code from Access and trying to use it in Excel to lock all the TextBox, ComboBox & CheckBox on the form.
View 2 Replies
View Related
Jul 18, 2012
How to disable different parts of a userform?
I dont really want to go through each control as I reckon it will be handy code to have in the future if I need to add more but so far my code is:
Private Sub UserForm_Activate()
With Sheet2
n = 3
[Code].....
View 2 Replies
View Related
Jul 11, 2008
I have a number of TextBoxes across the page, all set to Visible=False.
If these get filled with data then I need to set Visible=True.
Rather than hard code this individually for each one (which is not a problem, it just looks untidy), can I select each row as a Group (whilst designing the form, not in the code) and then set that Group to Visible=True ?
View 9 Replies
View Related
Nov 4, 2009
I have a userform that contains several textboxes, checkboxes, and comboboxes. There are also some command buttons, one of which says clear all. What I want to do is loop through the controls and clear the contents or change the value to false, depending on the type. I can do this by type the name.value = "", but there are alot of controls. If possible, a loop would be much more effecient.
View 9 Replies
View Related