Displaying More Than One Column In A Userform Combobox
Dec 10, 2009
I have a combobox on a userform that I have set the columncount to 3, so it displays data from columns A, B, and C when the combobox dropdown is used. However, once someone makes a selection from the dropdown, only the item from the first column is displayed in the combobox. Is there a way for me to show the info from all 3 columns once a selection is made?
I'm trying to take a list of names from a worksheet and create in a userform a combobox that lists the names.
Private Sub Combo_Box_Leadoff_Click() Dim counter As Integer Combo_Box_Leadoff.Clear For counter = 3 To 16 Combo_Box_Leadoff.AddItem Worksheets(5).Cells(counter, 2).Value Next counter
In the properties window, I set the value equal to the first name in the list. The above code yields a combobox that is blank except for the value set in the properties window. When I do not set an initial value, I get a completely blank combobox. I'm pretty new to VBA, and I've manged to figure out all of the macros I need so far, but setting up the user form has proved surprisingly difficult.
I need to populate a combo box on a form with the column name (A,B,C...etc) and the first row data. I need the code to check all columns in-case of missing column data.
Its important to note the data will be dynamic. In my add in, a form opens on requests and asks the user which column he needs to action data on. this could be on any one of several non similar spreadsheets.
E.G.: Combox to hold the following data (see column D has no data or header row):
Column A - Date Column B - Rep Column C - Customer Column D - Column E - Product
using a command button to input data back into the spreadsheet at a specific location.
Background: I am building a time clock spreadsheet, of sorts. I have a user form that provides a list of volunteer names in a combobox and then a list of activities they can perform in another combobox. Some activities have Details. (So, VolunteerName Todd can choose Activity Maintenance, which has no details; Volunteer Joe can choose Activity Teaching and then can select Details Intermediate 2.) The volunteer then clicks a SignInCommandButton.
The SignInCommendButton populates a worksheet (VolunteerLog) with the following information:
Column A: Volunteer Name Column B: Today's Date Column H: Exact Time In Column E: Activity Column F: Details, if populated
The SignInCommandButton also copies a formula from cell L2 into the appropriate row of column C (Time In) that rounds the Exact Time In to the nearest 15 minutes. The SignInCommandButton then does a Copy/Paste Special Values to remove the formula from column C and then resets the Userform.
What I need to do:
1) When the person first selects their name from VolunteerNameComboBox, I want to check 3 things:
a) whether the person's name exists in Column A of the VolunteerLog worksheet;
b) if it does, if the Date associated with that entry = Today; and
c) if it does, if the Time Out column is Blank.
If all three conditions are met, I want the ActivityComboBox to populate with the values in Column E and F, if necessary. The user will then click the SignOutCommandButton. (details in a moment)
I already have the code for if the conditions aren't met (Activity box populates and, depending on the selection in the Activity box, the Details box may appear for a selection to be made, or may remain hidden.)
2) The SignOut Button needs to enter the Time into Column I of the appropriate row found in (1) above. It will also need to copy the rounding formula I mentioned earlier, and do the Paste Special, but I have that already.
For (1), I think I have a start. My thinking is to first check if the Name selected in VolunteerNameComboBox is in the VolunteerLog. Each time it shows up, I'd like to add it to a list (range?) called rngSignedInDate. Then I'd loop through all the entries in that range checking if the Date = Today. If it does, then I'd add it to a list called rngSignedOut and loop through those results to see if Column C (Time Out) is blank.
I think I have the first loop, but am stuck on how to populate the results into rngSignedInDate. Here is the code:
Code: Private Sub VolunteerNameComboBox_Change() 'Check if the Volunteer has signed in already Dim strVol As String Dim rngSignedInVol As Range Dim rngSignedInDate As Range Dim rngSignedOut As Range Dim rngSignedInActivity As Range Dim rngSignedInMatch As Range
[code]....
(2) I haven't started working on the SignOutCommandButton. The challenge for me with that is directly tied to the challenge in (1). If someone does pass all 3 tests, I need to have that specific instance defined in a way that I can have the SignOutCommandButton put the time in the appropriate row.
I have a spreadsheet and am in the middle of creating a userform to display the results of data over a given period (period selected by user).
In that userform I would like to display a graph (the graph will be created behind the scene once the date range has been selected). Is there any way that the graph can be displayed on the userform? If so, how?
I have one userform that loads combobox values upon userform Initialize. Though through a second userform changes can be made to anotherworkbook this workbook is saves any changes. when i close the second userform i need to rerun the 1st userform Initialize event to update the combobox's incase changes have been made.
I have a userform with a combobox that has three items to choose from: Blue, Red, and Yellow. When a user selects one of those options, I would like another combobox to appear on my userform with a specific list for that option.
I'm trying to make a userform that has 2 combo boxes. I have just 3 columns right now.
Procedure GrpADA-QSI DescProcedure GrpAnesthesia And Drugs9210-LOCAL ANESTH/NO SURGAnesthesia And DrugsAnesthesia And Drugs9212-TRIGEM BLOCK ANESTHCrowns And BridgeAnesthesia And Drugs9215-LOCAL ANESTHESIADenturesAnesthesia And
[Code] ........
I copied and pasted Column A into Column C and then removed duplicates. I named Column C 'ValList' and placed it in the RowSource for ComboBox1. What I now want is for ComboBox2 to populate based on my selection in ComboBox1. There are no duplicates in Column B. Duplicates are in Column A.
I also named Column A 'Proc_Grp' and Column B 'ADA_QSI_Desc'
For the properties in Combobox2, I left the RowSource empty. (that's correct right?) Because there's going to be a code that links Combobox2 to Combobox1... I think...
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).
I am copying web data into Excel and need a creative way to run a couple formatting macros on the data. I’m looking for the best way to initiate the macros. I cannot use command buttons because they’ll get deleting as a result of the line “DrawingObjects.Delete”.
I’d like to use a Useform with a couple buttons but am not sure how to have it automatically display when needed and hidden when not needed. I also prefer not using toolbars button unless they will only be displayed in that workbook and not any others.
I have been trying to create a "Search" or "Look Up" form for my database. ( Attached file - "Test - Form").
I have been given a lot of help/ideas from this forum with which I managed to get to the stage where I could select the criteria i wanted to search by using a combobox and textbox in the userform. On hitting the "Find" button it shows all the results in the listbox.
The trouble started when I tried to display the listbox selection on the labels at the bottom of the userform. As the listbox is small and cant show all the fields properly, I need to display them in labels once user selects a particular record from listbox.
I managed to find some examples of this from this forum. (file attached "Action Log"). As I am not an Excel/ VBA expert, I have missed something and am not able to make it work.
I have a spread sheet where i want to display help text when cells are activated. I do not want to use comments as i both do not like the red triangle and also have not found a way to controll the position of the text box. When I use the event Worksheet_SelectionChange I can display a custom box but the box "retains focus" and i can not enter the data until i "reclick" on the cell in the sheet. The box then goes away when i select another cell. Is there a way to fix this or a different method entirely. I am using Excel 2007.
I am trying to populate a 3 column listbox in a userform from SQL Server via ADO. When the result set consists of more than one record, there is no problem and the data is displayed properly (ie each piece of data is in its appropriate column) eg...
however when the recordset returns only a single record, the data does not transpose and views as below (ie each piece of data in the record is on a different line in the first column
Is it possible that i fill the CB.list with range().value so the values are in Column 'A' and in Column 'C' and if i enter the field and select value then i see value from column 'A' & value in Column 'C'?
Then if i pick one value then the CB.value = the value from Column 'A' only, Can i solve it some how?
Carrying on from my calculation problem which now has been solved i am needing help with comboboxes
i have a combobox21 which i have made a dropdownlist ie Types of products from Product1 to Product 16 inclusive (i have sorted this)
i also have another 28 comboboxes, which of the 16 products i pick in combobox21 i need each of the other 28 comboboxes to display the the sub products
products and sub products are stored on sheet1 in the excel file as below
A B C D 1 Product1 Product2 Product3 Product4 etc ......... 2 P1A P2A P3A P4A 3 P1AA P2AA P3AA P4AA 4 ETC ETC ETC ETC
So if i pick Product1 in Combobox21 then in each of the other comboboxes i need to be able to select P1A OR P1AA ETC .....
i have a named range of products A1 to O1 Called PRODUCTS
i will have to create 16 mores ranges for the items in each product but that is no problem
I have a userform that I wish to be a front page for a work sheet containing personal staff information. I would like it to self populate according to a selection from a combo box (Surname). So far I am using the code below however where this code encounters those with the same surname it only displays the first row it comes across. Each row does have a staff ID number that is unique but I cannot search by this on its own as it would not be user friendly.
VB: Private Sub ComboBox1_Change() Dim r As Range Set r = Sheet2.Range("A:A").Find(What:=ComboBox1.Text, lookat:=xlWhole, MatchCase:=False) If Not r Is Nothing Then
I want it to populate a combobox in a userform. Should it go in the code segment for the userform, in a module, or some other place? The following is code I originally found (by Leith Ross of this board) to find the last row in column "A", and load the combo box "ComboBox1"
textbox input will be a house number combobox will be a list of all the street names that have that house number in my database
column Q are house numbers, column R are street names
when a user inputs a number into the textbox and tabs to the combobox,
for each cell in column Q of workbooks("proposals.xls").worksheets("database") that has the textbox1.value I want the cell value of .offset(0,1) to be added to the combobox.
Basically I want it to look similar to the vehicle search on auto trader, or whatcar, where you first chose the make, then use a second combobox for the model (dependent on the choice made in the first combobx.
I am trying to add a list of items to a combo box which is in a user form using vba. Find the file as attached. My code is as follows: when i double click on the combo box it opens editor.( 4th item: Frequency )
Private Sub ComboBox1_Change() With .ComboBox1 .AddItem "Y" .AddItem "M" .AddItem "D"
I have created a user form that needs dependent combo boxes. I have created multiple lists to use for different types of contacts and just want to use the if function to say that if combo box one's value is this, combo box two will use this list in its drop down box. This is what I have at the moment below.
cbosoi is combo box one and cboname is combo box 2. If I select Duty_manger from the first list I want it to point to the Duty_Manager list for combo box 2. It does that but it selects the duty manager list for anything I select in combo box one!
If cbosoi.Value = duty_manager Then Me.cboname.List = Worksheets("lookuplists comms").Range("duty_manager").Value End If
I'd like to say that this Forum is helping me very much when reading so many useful topics, get help from ppl here. From nothing I advanced my program very much. About my problem here:
I have an Excel Column with Dates (dd-mmmm-yy) and an UserForm/ComboBox. I'd like to add only the unique dates from the Excel Column to the ComboBox. The Excel Column Range is updating with new dates.
I tried to use RowSource but i don't know how to get the unique dates with RowSource. Maybe RowSource is not a good decision.
I am a total noob when it comes to userforms. I want to create a userform with a simple combobox that contains 4 different selections. Along with this combobox will be a Submit button and a Cancel button.
I'm attempting to add the values for a combobox and (2) text boxes to a list box on a form. The list has 3 columns. When I run code to add to the list box the values are added on separate rows instead of the same row. See code below and attached screen shot.
VB: Private Sub cmdAddToList_Click() Dim i As Integer Dim iRow As Integer If Me.cboParts.ListIndex = -1 Then Exit Sub For i = 0 To Me.lstParts.ListCount - 1
combobox1 is filled with values. I want the user to select one from combobox1 and combobox2 get filled in with unique values based on combobox1
Sheets Quote has 2 columns
Customer Job Stanley 1 Stanley 2 Fred 1 Stanley 3 Stanley 3 Stanley 3 Stanley 4 Fred 1
combobox1 is filled in with Stanley and Fred
based on the user selection (as an example Stanley)
I want combobox2 values to be 1,2,3,4 (having 3 listed only once)
Is there a way to modify the code below to verify that the (e) .offset(-1,0).value = combobox1
Is there a different option to use?
Code: Public Sub fill_job_num() Dim v, e On Error GoTo error1 With Sheets("Quotes").Range("B2:B50000") v = .Value End With With CreateObject("scripting.dictionary")