Get Data From Cells Using Combobox Criteria
Mar 29, 2009Attached herewith a Excel file. How to Retrieve data from the Corresponding Worksheet Row using Combobox criteria
View 5 RepliesAttached herewith a Excel file. How to Retrieve data from the Corresponding Worksheet Row using Combobox criteria
View 5 RepliesWell, after reading "Best Practices", it looks like I've got lots to learn about Excel and VBA Hope I don't break too many rules. see code below. I have a form that uses a set of dynamically filled combo boxes. The difficulty I'm having is in filling the combo boxes with correct data when updating an existing record. As per the code below, the Activecell. offset(0, #) references in the "if" statement in the For..Next loop process correctly, but Activecell references that fill the combo boxes seem to behave like an absolute references to Row 1, which are the Column Names. I've tried creating an Activecell.offset(0, 0) before every fill combo box statement and then using Activecell.offset(i, #) to reference the relevant cells, but to no avail. Obviously, I'm missing something here...
Private Sub cboUserName_change()
Dim usrnam As String
Dim found As Boolean
Dim i As Integer
Dim intRowCount As Integer
usrnam = cboUserName.Value
found = False
If usrnam <> "" Then
ActiveWorkbook.Sheets("Data").Activate
Range("A1").Select
intRowCount = Range("A1"). CurrentRegion.Rows.Count - 1 ................
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.
Am trying to get dynamic population of 2nd combobox based on match from criteria in combobox 1.
if column a = bears and column b = colours of bears then
when I select bears in combobox one, combobox 2 would populate with colors of bear.
I am think of having a combobox 1 change event that evaluates each row in a specific range (does it match the criteria?) if so, then add 2nd cell (column b) of that row to the combobox 2.
I know it would probably involve match and offset, add item and loop, but I am not sure what the syntax is.
I need to populate two combo boxes from excel sheet, the data will be like below:
Column A Column B
A 1
A 2
A 3
A 4
A 5
B 100
B 101
B 102
So from the above data, one combo box should hold unique values A & B.
On selecting a value from the 1st combo box A or B, respective values should be populated in 2nd combo box.
So the data should be like below:
If A is selected in the 1st combo box, then 2nd combo box should only show the values 1,2,3,4 & 5.
If B is selected in the 1st combo box, then 2nd combo box should only show the values 100,101 & 102.
Friends I need it in a macro and one important point is, this is dynamic and it is not static and the data can be more.
I want to create a userform that selects a Staff members name from a combo box, once selected the listbox would then display what time off that person has taken - ultimately I would then like to be able to select a date taken and either edit or delete it from the sheet that holds the information.
View 7 Replies View RelatedIf Sheets ("Sheet1").Cells (i ,"D").Value="January" Then ...this is my code line.I would like to replace my criteria"January" with a listbox or combobox with months names so that my out put results vary according to my list selection from the combobox., so that I need not to change or edit my criteria value every time according to my requirement.Is it possible in vba?
View 4 Replies View RelatedI have found codes to do this however not one to show if I have varied selections. I have 3 combobox's and 2 textbox's to autofilter data on the same page. can someone tell me where I am going wrong in my code.
Private Sub CommandButton1_Click()
With ActiveSheet
.AutoFilterMode = False
If Me.ComboBox1.Value = True Then
With . Range("B2:S2")
.AutoFilter
.AutoFilter Field:=2, Criteria1:=Me.ComboBox1.Value
End With
End If
If Me.ComboBox2.Value = True Then
With .Range("B2:S2")
.AutoFilter
.AutoFilter Field:=4, Criteria1:=Me.ComboBox2.Value
End With
End If........................
I have a worksheet (Data) that lists when pupils are in for Nursery sessions during the week. If they are in they have a 3 (hours) by their name in the relevant columns.
In the AM worksheet I now need to pull through a "register" so under each daily heading I need to pull through everyone that has a 3 next to their name under Monday AM / Tuesday AM / Wednesday AM etc. from the Data sheet. However, I don't want it to copy any blank cells. I then need to do the same for the PM sheet.
Here is what I have. 4 Worksheets. The first worksheet is a summary page. I have 350 personnel that are broken down into three different groups. So each group has it's own sheet. Here is what I need to accomplish. Results need to be posted on the summary sheet.
I need to compare cells B2 & D3 for each row on a worksheet and display the number of times they match on a worksheet. For example how many times does EP & EP match on a certain row. I need to compare cells B2 & D3 for each row on a worksheeet and display the number of times they don't match on a worksheet. For example how many times does EP & MP occur. I've attached an example for reference
I'd like to fill a dropdown combo box with a list that is made up of 2 cells.
example, on sheet ASP we have the title in A1 and the surname in B1, next person in A2 and B2 etc..
Now I have a useform that needs to be filled with a combination of the title and Surname. I can get either or right, but just can not seem to get both combined and listed.
The code I'm using is:
Private Sub UserForm_Initialize()
'Variable declaration
Dim repeat As Integer
'fill ComboBox
For repeat = 1 To Sheets("ASP").Range("B65536").End(xlUp).Row
ComboBox1.AddItem Sheets("ASP").Cells(Wiederholungen, 2)
Next
End Sub
I have a spreadsheet dealing with orders made by customers and the delivery of the items they have ordered.
When I have delivered the items to a customer I need to note down that their order has been delivered. I also need to enter the date on which it has been delivered.
I have created a user form in which I select the order number of that particular order from a combobox and state whether or not it has been delivered, this is either a "yes" or "no" selected from another combobox.
I then have to note the date in a text box on which the items were delivered.
My problem is getting the answer "yes" or "no" and the date to fill in on the worksheet next to the corresponding order number.
I have a worksheet entitled 'Data'. In this worksheet there is a table consisting of 4 columns plus relevant data:
TABLE 1:
Project
Benefit Type
Delivered or Enabled
Benefit
PJ1
Financial
Delivered
Saving of $4M over 24 months.
[code]....
I have been trying to create a formula that will enable me to pull data from the 'benefit' column(column D) so that the cell contents populate in a single cell in a table in a different worksheet.
TABLE 2:
Financial - Delivered
Financial - Enabled
Tech - Delivered
Tech - Enabled
Green - Delivered
Green - Enabled
[code]....
So, as an example, I am hoping that a formula can be created which pulls the text from relevant cells in column D when criteria from columns A, B and C are met e.g. Tech benefits that are Delivered in PJ2 would populate cell E3 ('Tech -Enabled') in Table 2 with:
Continued maintenance of hardware.
Increased capacity.
Im trying to cross match two cells from two combobox's,
Allong the top there are test names, and down the side is staff names,
On a user form there are two combobox's one with staff names the other test names
Untitled.jpg
How can i make it increase the number in a cell where the name and test match the combobox's value
I have Attached an example file,
I have combobox filled with range of two columns , i want somehow to show them both in linked cell , I don't figure it out , by myself using BoundColumn option and it showing first or second column only.
View 4 Replies View RelatedI want to do is a simple list, 2 items, call them "Thing_1" and "Thing_2". I have an equation in a column of cells. The equation is a simple If statement. If the user selects "Thing_1" then the first equation will run, and if "Thing_2" is selected then the second equation will be used. That's it. No more complex than that.
My original questions about how to initialize a ComboBox are cross-posted here: http://www.excelforum.com/excel-prog...ml#post1996135
I am looking for a way to have 1 combo box, but be able to click on any cell in a range and yield an individual results. In this particular case I am tracking maintenance, and what my crew's corrective actions were for each location. As this varies day by day I cannot use HLookup or VLookup. Also, the lists vary, and have over 100 options.
What I would like is to be able to click in the cell, and instead of scrolling through a list of 109 options be able to start typing the action and it to auto populate. This gets tedious when there are often 50+ locations with maintenance calls per night.
Furthermore, keeping the results exact for VLookup that is being used on another sheet.
I've attached a blank sheet. Columns B, E, F, & H each would ideally have their own combo box. I could click on any cell in the column and when I begin typing the option it would autofill to the correct list item.
Their respective List are currently to the right under columns J, L, N, & P with their headers matching the exact name they've been given.
I have successfully used the course booking form as a base for an input form in an accounting workbook that has several pages. (Thanks to Roy and others for the info; the course booking form on [url]is the best explained piece I have found on the net)
What I would like to do is use a range of cells to populate the combobox so that a user can make a choice from the account descriptions (from a sheet named Intro, b63:99) and have the form return the account number (Intro, a63:a99) to the relevant cell elsewhere in the workbook. The user would then have meaningful descriptions rather than numbers to choose from.
My coding for the form thus far is as follows.
I'm using two comboboxes to simplify data query of a database: the first narrows the query by displaying employee names, the second narrowing the selection further by displaying the equipment that employee owns. I am able to populate both comboboxes fine.
The first combo box for employee names:
Code:
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Set ws = Worksheets("User&EquipOverview")
[Code]....
Where I am running into trouble is that I want the selection made with the equipment name combobox (ComboDevice) to populate several textboxes with values related to that specific selection in the database. That is, the combobox population needs to have the cell location included as information to pull the correct information.
Each employee has several pieces of similarly named equipment, so it's not so easy as to search the initial list for the value of the combobox selection.
How can I get a combobox to list the values in a range of cells eg.
A1:A5 = 1,2,3,4,5 etc
I've tried...
ComboBox1.List = Range("A1:A5")
But that dont work (it was more of a guess)
How I can refer to sheet...Without activating sheet. i have this
Private Sub carga_click()
Sheets("Codigos de Area").Select
Sheets("Codigos de Area"). Cells(1, 2).Select
While ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
ComboBox1.AddItem ActiveCell
Wend
End Sub
I'm looking to populate a combobox with a range that does not include hidden cells from autofilter. I will be sharing the workbook, so I cannot use Advancefilter either. Here is what I've got so far:
Set VRowSource = Sheet1.Range("A1", Sheet1.Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
strRowSource = VRowSource.Address
With UserForm.Combobox1
For Each cell In Sheet1.Range(strRowSource)
Thisrow = cell.Row
If Not cell.Rows.Hidden And Thisrow <> Lastrow Then
.AddItem cell.value
End If
Lastrow = Thisrow
Next cell
End With
I think it hangs on Next cell.
What I'd like to do is fill specific cells with specific information drawn from other pages based on a combo box selection.
For example, if I were to pick 10131 in the combo box, I'd like it to fill out cells X, Y and Z with information from the three cells to the right of 10131. Assume X, Y and Z are not touching.
I have a combobox "cboRCAname" that is populated with a list of names from a dynamic range "RCA_Name" in a worksheet.
If a user selects an item in the combobox from RCA_Name, I want to display the a code that corresponds to that name. The codes are stored in a coulmn adjacent to "RCA_Name"
'Populate the combo box with the dynamic RCA list
Dim rngRCA As Range
Dim ws As Worksheet
Set ws = Worksheets("RCA_Data")
[Code] .....
it is possible to hide empty cells when using a ComboBox in a UserForm?
I have named the range from where I select my data and used the RowSource (ComboBox Properties window) to determine the selection. This works perfectly but I have many lines that are empty and I would like to know if they can be hide, or not selected, in the combobox.
I need to have a single combobox pull values from a very large term list (>40,000), and place selections in a single column in sequential cells (eg, B1, B2, B3, etc..). With the following code (credit to Ingolf and MickG) I am able to get the list to popluate cells in a column. However, I cannot seem to find the proper attributes to control the auto selection of items in list. I do want the autocomplete feature so the user can quickly navigate this huge list, but as soon as i start typing, it starts populating terms into the growing list. I would like to have the user actually select the item.
Private Sub Worksheet_Activate()
Dim Rng As Range
With Sheets("Listing")
[Code].....
I have a combobox on a spreadsheet it is populated on a sheet called teams :
The Format control has an input range of: Teams!$B:$B
Now this has a few thousand empty cells in the range but I would need it to only populate with the cells that are not empty.
I have a userform with text boxes and a combobox referencing a named range in the spreadsheet. What I'm trying to accomplish is when I click on a name in the combobox, I would like the text I'm adding to this name to be on the same row. Currently a new row is created with all this information instead of being added to the existing row and I end up with duplicate names in the combobox.
View 6 Replies View RelatedIs it possible to use the Combobox ListFillRange to list values from two groups of cells? For example, in column 'A', I have the values, 1,2,3; and in Column 'B', I have the values, A, B, C. I want to list the values in column 'A' along with the value of say, B, in Column 'B'.
combobox.listfillrange = "Sheet1!A1:A3" < ---- how to include value B from column B in this list? Or, how to get value A from column B?
I am trying to find a way to create a macro that will take the data selected from the combo box and concatenate it with the data found in cells.
For Example:
Combo Box Selection - "Test"
ID (Column A) - Before
12345
98765
99999
55555
empty cell
23232
ID (Column A) - After
12345 Test
98765 Test
99999 Test
55555 Test
empty cell
23232