Dynamic 3 Deep Nested ComboBoxes On A UserForm
Jun 29, 2006
I have three ComboBoxes. I need the choice of the first ComboBox to detirmine what is shown in the second and the choice in the second to detirmine what is shown in the third. The lists will be growing as users add items.
View 2 Replies
ADVERTISEMENT
Mar 23, 2014
This example workbook contains a datatable, which is inputted via a userform. The datatable has 4 columns: Date, Invoice no., Loads, Tonnage. This table is dynamic, as a new row gets entered each time data is entered in the userform. A different userform (the one in the example) has comboboxes which refer to the data in the table. This userform asks the user for the Date, Invoice no., Loads and Tonnage. I want to use comboboxes so that they will advise the input based on the users previous input.
The first combobox asks the user for a data, and should contain a list of all the unique dates that are stored in the table. When the first combobox is inputted, the list for the second combobox will change. The list of the second combobox should be a list of unique invoice numbers, based on the date that has already been entered. The 3rd and the 4th combobox should also show a list of unique values, based on the previously entered date and invoice no.
Example: The first combobox should advise the dates: 4-Nov-14 and 15-Nov-14. User chooses 4-Nov --> second combobox should advise unique invoice numbers based on chosen date: 1252 and 1311. User chooses 1152 --> 3rd combobox should advise unique values based on previous values: 3, 8 and 7. 4th combobox: 57, 23 and 47.
View 3 Replies
View Related
Nov 28, 2012
I am having some difficulty trying to implement the following. Lets say I have a reference list
X 1
X 2
X 3
Y 4
Z 5
Z 6
I want to have two drop downs on my worksheet. One that filters by x,y,z and then based on the option i select there only give me the corresponding values in the second drop down.
Eg if i select X in my drop down I only want 1,2,3 as options in my second drop down. Or if I select Y only the value 4.
View 2 Replies
View Related
Jan 20, 2009
I have two comboboxes on a userform, they both get there list from the same formula. What I am trying to do is have the second combobox have it's selection preset based on the selection in combobox 1.
ie
Combobox1 = 6:00 AM
when you click on the dropdown for combobox2 i would like 6:00 AM to be the first selection possible, but I dont want it displayed in the box unless it is selected.
Dim timdat1(1 To 85)
For i = 1 To 85
timdat1(i) = Format(TimeSerial(5, (i + 1) * 15, 0) - Int(TimeSerial(5, (i + 1) * 15, 0)), "h:mm AM/PM")
Next i
combobox1.List = timdat1
combobox2.List = timdat1
i am at a loss for where to go from here
View 9 Replies
View Related
May 7, 2009
I have a userform that has a text box. If user puts a number in it and click on proceed the userform must expand and display that many comboboxes. for e.g. if user inputs 8 and then click on proceed then there should be 8 comboboxes on the form. Is it possible to do?
View 4 Replies
View Related
Feb 17, 2007
I have a worksheet "Master Log" with a UserForm "UserForm2" set up that has 4 comboboxes and 2 text entries. I already have the filtered unique values for each combobox sent to columns "O" thru "R" and they are dynamic ranges. I have the code to populate one of the comboboxes in the userform but cant figure out how to modify the code to have all four populated without getting ambiguous entry errors. And also, do I have to initiate the form for each combobox? Below is the code Im using for a single combobox.
Private Sub UserForm_Initialize()
Dim MyUniqueList As Variant, i As Long
With Me.ListBox1
.Clear ' clear the listbox content
MyUniqueList = UniqueItemList(Range("o4:o100"), True)
For i = 1 To UBound(MyUniqueList)
.AddItem MyUniqueList(i)
Next i
.ListIndex = 0 ' select the first item
End With
End Sub
Private Function UniqueItemList(InputRange As Range, _
HorizontalList As Boolean) As Variant
Dim cl As Range, cUnique As New Collection, i As Long, uList() As Variant
Application.Volatile
On Error Resume Next
For Each cl In InputRange
If cl.Formula <> "" Then
cUnique.Add cl.Value, CStr(cl.Value)
End If
Next cl
UniqueItemList = ""
If cUnique.Count > 0 Then
Redim uList(1 To cUnique.Count)
For i = 1 To cUnique.Count
uList(i) = cUnique(i)
Next i
UniqueItemList = uList
If Not HorizontalList Then
UniqueItemList = _
Application.WorksheetFunction.Transpose(UniqueItemList)
End If
End If
On Error Goto 0
End Function
View 2 Replies
View Related
May 3, 2009
I have a userform with many comboboxes and textboxes and I am using the following code to empty those controls:
View 9 Replies
View Related
Jun 6, 2013
Let's say I have Sheet1-Sheet6. I also have combobox1 (with item 1, 2, & 3 as the list items) & combobox 2 (with items 1 & 2 as the list items).
If combobox1 = 1 & combobox2 = 1 then hide Sheets 2,3,4,5,6
if combobox1 = 1 & combobox2 = 2 then hide Sheets 1,2,4,5,6
If combobox1 = 1 & combobox2 = 3 then hide sheets 1,2,3,4,6
If combobox1 = 2 & combobox2 = 1 then hide sheets 1,3,4,5,6
If combobox1 = 2 & combobox2 = 2 then hide sheets 1,2,3,5,6
If combobox1 = 2 & combobox2 = 3 then hide sheets 1,2,3,4,5
I would like to also make both of these combo boxes required fields and to default text to say 'Select One...'
View 1 Replies
View Related
Jun 4, 2008
The spreadsheet is essentially a VBA GUI that validates information entered before writing it to a sheet in the workbook. There is a button on the first sheet that opens the GUI, and when the workbook is first used the GUI opens and runs fine. After adding a few rows using the GUI, saving the workbook, and then reopening it, attempting to open the GUI by clicking on the button will cause Excel to crash (and no errors are given). To compound the problem, it is not possible to find the issue by using the debugger, as the GUI runs fine as soon as VisualBasic is opened. I've tried to narrow it down by using MsgBoxes to find the approximate location where the form crashes, and it seems to happen when the .ListIndex property of a ComboBox is set inside the UserForm_Initialise method. I've played around for days trying to narrow it down further, removing .ListIndex statements as much as possible without breaking the entire thing.
View 2 Replies
View Related
Feb 20, 2012
I Have a sheet with 4 activex comboboxes and 3 text boxes. If the right item is selected in the second combo box a user form opens up. That has 4 text boxes. It has a command button titled ok that takes the information from the 4 text boxes and puts them in a sheet called data.
Code:
Private Sub cmbOK_Click()
With Worksheets("Data").Range("A1")
.Offset(1, 8).Value = Me.txtFirm.Value
[Code]....
I need a way for the above code to run when the ok button on the user form is clicked.
View 7 Replies
View Related
Jul 2, 2014
Is there anyway to make the number of multipages you have respond to a previous fill in the Userform? Let's say you have a textbox asking for number of requests, if you type 4, there will be 4 multipages with the same fills.
View 4 Replies
View Related
Nov 6, 2009
Enclosed is a copy of a workbook in Excel 2003, in which I copied the VBA from a web site to see how that works. I am not a guru in Excel but always curious to see how things can be achieved to maybe enhance it in the future use. I have tried everything based on my knowledge but did not succeed.
View 5 Replies
View Related
Oct 20, 2011
I have dynamic named range that lists by columns. I can use this with data validation pull down on my worksheet and all is fine. But when I use this named range in the RowSource of a combo box in a userform, I only get the first column of data, or basically, the data in B1, but not C1, D1, ect. Here is the formula for the named range.
=OFFSET(INFO!$B$1,0,0,1,COUNTA(INFO!$1:$1)-1)
View 2 Replies
View Related
May 22, 2009
I have a userform with 10 rows of data with 8 colums in each row... I am trying to figure out how to dynamically address the object names (ie Textboxes).
Short and simply let's say I have 10 Text boxes named textbox1, textbox2, textbox3, etc
I want to address them in a loop as follows
Private Sub Clear_Fields()
Dim field As Object
For x = 1 To 10
field = "textbox" & LTrim(Str(x))
field.Value = "1"
Next x
End Sub
Obviously I'm missing something here as I get the error Object Variable or With Block Variable not set
View 9 Replies
View Related
Oct 1, 2007
I have a userform to be populated with data from a dynamic table for purposes of showing users their daily stats. The data is populated on the worksheet in the following way- ..............
When the userform is pulled up, it needs to show the following details -
UserName - User1
Workitem 2 : 12
Workitem 3 : 7
As the work items go all the way to 65, I wanted to only show the work items that had actually been worked on by each person - What I am struggling with is how to populate the textboxes on the userform with this data - without getting into an absolute mess of if statements -
If Range(WorkItem1Range).Value <> "" Then
userformStats.WorkItemA= Range("a2").Value..........
View 2 Replies
View Related
Feb 6, 2012
Every thread I see on Google search for creating check boxes on a user form based on worksheet data says to use a list box, but I really want check boxes. Any code that will create, on initialize of the user form, a check box for each item in Import!B2:B (last row), regardless of the number of items? I am only worried about having about 20 max. Usually, it will only be 5 to 10.
I did try the list box, but it doesn't populate the list box.
Code:
Private Sub UserForm2_Initialize()
Dim lbtarget As MSForms.ListBox
Dim rngSource As Range
'Set reference to the range of data to be filled
[Code] ..........
View 5 Replies
View Related
Feb 14, 2012
I create a series of labels and text boxes at runtime.
Code:
for x = 1 to 10
labelName = "label" & x
Set cControlLabel = Me.frameScrollable.Controls.Add("Forms.Label.1", labelName, True)
next x
How can I assign an on_click event to these? I have seen some rather complicated suggestions such as creating code for each possible object, but there could possibly be hundreds of labels created. It would be nice to be able to call the same macro from each label click, and then take action based on the .caption property of the label.
View 7 Replies
View Related
May 16, 2008
I am looking for some code that dynamically (during processing) changes the height of a userform. What I am trying to do is this: I have ten worksheets but only five are being used. I am looking to have a userform with a checkbox for each of the active sheets labeled. I don't want to have to display a form that is basically ten checkboxes with five enabled and five disabled. I want to show only the five active sheets checkboxes with a userform only large enough for the five. If six are active then a userform displaying six checkboxes and a userform large enough for only the six to be displayed.
View 9 Replies
View Related
Mar 15, 2007
I have an excel sheet where i have the part number in the Column "A". I have four sets of four columns each which has the details of price for that particular part, currency , lead time and the Vendor Name. Now i want to have an user form where in i can put in the details of a part number and i should get the details of the best vendor in terms of price and lead time Seperately. The best vendor in terms of price is determined by comparing the values in the columns B, F, J & N and The best vendor in terms of leadtime is determined by comparing the values in the columns D, H, L & P. I have also created an user form with out any code just to give you an idea of what i am looking at. So that it can be helpful to you. I just key in the part code and i get the best results for the same.
View 6 Replies
View Related
May 21, 2008
How can I fill a UserForm ComboBox or ListBox with cells from a dynamic changing range?
View 3 Replies
View Related
Aug 9, 2009
I have multiple Userforms with labels etc, all controls are similarily named (so I could do this) and I can refer to the Userform dynamically but the Label caption/Controls don't change, any idea's how to get them working.
View 7 Replies
View Related
Jun 18, 2013
I am trying to populate a listbox in a userform using a dynamic list of data in column Y or worksheet "varhold".
Here is my code:
Code:
Private Sub Userform2_Initialize()
With UserForm2.listbox1
RowSource = ThisWorkbook.Sheets("varhold").Range("offset($y$1,0,0,counta($y:$y),1)")
.BoundColumn = 1
.ColumnHeads = False
.ColumnCount = 3
End With
End Sub
When I run this procedure, the box is blank. There is no list.
View 7 Replies
View Related
Oct 8, 2013
I'm trying to add a dynamic named range to a combo box in Userform but getting this error.
Have tried several lines of code this being the last that hasn't worked . . . .
Code:
CustCBx.RowSource = Range("CustList").Value
This is the formula for the named range in sheet
Code:
='Customer Info'!$J$2:INDEX('Customer Info'!$J2:$J200,COUNTA('Customer Info'!$J2:$J200))
View 1 Replies
View Related
Aug 21, 2014
Excel 2007 and very new to VBA...
I have a userform (named "QAReviewForm") with a combobox (named "cboSupName"). I want it to populate with my named range "SupList".
FYI, the SupList is found on sheet 2, "Administrative Menu" in column E. E1 contains the heading "Supervisors", and my named range formula is
Formula:
[Code ] .....
When it runs, my form opens and the combobox is there, but nothing appears as options for me to select (yes, I have some values in column E).
View 11 Replies
View Related
May 29, 2013
I'm trying to create a dynamic msgbox that will display what data has been updated based on checkbox selections in the userform. I've named my checkboxes as Carey, Keith, and Juliet.
Ideally if only Carey's data has been updated, I'd like the msgbox to say
' Data has been Updated for:
- Carey '
If Carey and Keith's data has been updated, I'd like the msgbox to say
'Data has been Updated for:
- Carey
- Keith '
etc.
MsgBox ("Data has been Updated for:" & vbnewline & _
If CAREY.Value =true then "- Carey" End if & vbnewline & _
If KEITH.Value =true then "- KEITH" End if & vbnewline & _
If JULIET.Value =true then "- Juliet" End if & ")
View 3 Replies
View Related
Jul 22, 2014
I'm thinking of writing a small tool to store user information on certain files.
The user data will be input by means of comboboxes on a userform.
Each combobox will need to contain a list of values previously used for that combobox. (I'm planning to use a separate ini file for each combobox)
All of the user data entered for a file will be saved into a single ini file.
Most of this is straightforward however I'm not good with comboboxes. And working this in with Ini files makes it harder!
I'm struggling with the following concepts:
SOLVED - How do to make a combobox populate with all the values from its ini file
SOLVED - How to identify if a selected value in any combobox is new (i.e. wasn't in the original list presented to the user)
SOLVED - (From above) How to write this new value to that comboboxes ini file (so it will appear in future lists for that combobox)
How to input two values from any given combobox
(From above) How to record two values for one field into the files ini file.
View 11 Replies
View Related
Aug 27, 2009
i have a table on sheet1
A B C
(Names) (Total) (Status)
1. John 500 Active
2. Dave 200 Active
3. Andrew 175 Active
4. John 225 Active
On my userform there are 2 comboboxes. In combobox 1 I have Rowsource as Column A (Names), if I select John I want Combobox 2 to list 500 & 225.
View 5 Replies
View Related
Mar 1, 2008
I'm sure this must have been answered before but I cant find it, sorry.....
I have 12 comboboxes on a worksheet. They are normally filled out by typing the first 3 characters of one of the entries in the list they are populated with.
I.e. the list starts;
AAC - Al Arish - Egypt - HEAR
AAN - Al Ain - United Arab Emirates - OMAN
AAW - Abottabad - Pakistan -
The first 3 character are unique to each line.
I'd like to be able to enter the 3 characters in the first combobox & then tab to the 2nd combobox, etc, etc. No problem in a userform but how on earth do I do that when the comboboxes are on the worksheet?
View 9 Replies
View Related
Jun 20, 2006
I am using the following code to determine whether a given range is the linked cell for a Combo Box by looping through the shapes collection.
Function LocateFormControl(OverRange As Range) As Shape
Dim objTemp As Shape
For Each objTemp In OverRange.Parent.Shapes
If Left(objTemp.name, 6) = "Drop D" Then
If WorksheetFunction.Substitute(objTemp.ControlFormat.linkedcell, "$", "") = WorksheetFunction.Substitute(OverRange.Address, "$", "") Then
Set LocateFormControl = objTemp
Exit Function
End If
End If
Next
Set LocateFormControl = Nothing
End Function
However, when I use this code on big worksheets with many other shape objects (such as Comments), the program runs very slowly. Is there a ComboBoxes Collection that I could use to avoid looping through all shapes on the worksheet, or is there a different, faster way to run this code?
View 2 Replies
View Related
Apr 12, 2010
Looking for examples of the following:
1. population a combobox in excel vba using code as opposed from a sheet
2. population a listboxin excel vba using code as opposed from a sheet
3. population a combobox in excel vba using text from a file as opposed from a sheet
4. Getting the values from a combobox on a form to populate cells on a worksheet
These list boxes and comboboxes will be on a form.
View 6 Replies
View Related