Add/Delete Items To Combobox
May 30, 2009I want to know the procedure of adding and deleting the items to a combobox or list box dynamically.
View 13 RepliesI want to know the procedure of adding and deleting the items to a combobox or list box dynamically.
View 13 Repliesi had a user form with a Combo box,list box,text box and a command button. I need the code that works upon selecting:
1)An Item from the combo box should display the list in the list box.
eg: If Country is selected from the combobox then the list box should contain all the names of the countries from the country Column
2)An item should be added to the list in the worksheet when an item is entered in the textbox.
Like wise, when an item is selected from the combobox from "Delete Items List" all the items relating to the item selected from the combobox should be displayed in the list box and a choice to delete the items relating to the combobox item should be provided.
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.
The below code shows the way I add items to 10 different comboboxes. However, the items to be added are actual the same.
Is there a way I can simiply it? I am worry that by the end of day, i might have up to 50-60 comboboxes and the code will be a relativity long and not efficient.
Taking into consideration the the comboboxes will be labelled as Jieyi_task_ComboBox1...to 10
jane_task_ComboBox1...to 10
Kenny_task_ComboBox1.. to 10
In my excel sheet, from B2 to B20 i have datas like,
aaa
bbb
ccc
aaa
ccc
ddd
rrr
ttt
bbb
rrr
ttt
I want to add this to my combobox1 with out repeation as, 'aaa' should be listed in combobox once. What is the macro for this or we can do it in Combobox properties itself?
I have a significant number of comboboxes on a multipage userform. Almost all of them are populated dynamically (it takes the user choice from one combobox, looks for that value on the spreadsheet and if it finds it, it takes whats in the next column and adds it to another combobox).
My problem is that all the items in these other comboboxes are not in alphabetical order. I'd like to find some code that will work for all my comboboxes so that I don't have to have the same code over and over again for each field.
I found the code below and that works to alphabetize the dropdown, but I still have to use it over and over again and change it for each fieldname (in red). I tried to use a variant and just make the value the same as each fieldname before it calls the sub and whats in red below was just my variable but that just crashes my excel.
C Attached file.
I want the items that appear in B9:B5000, automaticaly in Combobox_Category. How can I do this, so that every item stays unique.
example B9 = fat cow and B10= fat cow, fat cow will only appear 1 time in the combobox lista and not twice, how can I organise the combobox list Alphab?
I am trying to run macros for each item in combobox. These macros will insert text in a cell. The problem is that when i make a selection from combobox, save the file and reopen the file, it again runs the macro based on the value in combobox. I am getting the results twice in a cell.
I've written the following code.
[Code] .......
I have an workbook with two worksheets: sheet1 and sheet2. In first sheet I have an combobox (with data from sheet2, range A2:end xldown). In second sheet I have:
column A: item
column B: item with range
column C: range
I need to select one item from combobox (for example 3) and after that to select a cell (for example D3).
In sheet2, column A, I need item 3 to be deleted.
In sheet2, column B, I need item 3 to be added.
In sheet2, column C, I need the selected cell (D3) to be added and so on for all the items!
method of looping through objects to make changes.
I have 12 comboboxes on a userform which I have set to dropdown list and want to populate during the userform initialization. Each combobox is called "pt*" where * is a number from 1 - 12. I have currently set up my code with 12 lines, one for each combobox to apply the same dropdown list to each of the 12 boxes.
ie
Code:
pt1.rowsource = ptsource
(where ptsource contains a range reference on the worksheet)
I'm interested to learn how to improve my code to loop through 1-12 and apply the rowsource to each combobox.
I did search through some past questions but could only come up with a method which seemed to step through every combobox on a worksheet rather than userform and in my case, I have two other comboboxes on the userform which I do not want to add this rowsource to, only the "pt*" named comboboxes.
I've got a database and want to put the names that are in one culumn of the Worksheet into a combobox.
I use a Loop and the addItem procedure.
The thing is that there are many names that are the same, just diferent records for the same company...
How do i do that every name only appears once in the ComboBox.
I have a database of data that looks like this
Centre Name Training Type Expert 1 Expert 2 Expert 3 Expert 4
MyCentre MyTraining Me
MyCentre MyTraining Me
MyCentre MyTraining Me
MyCentre OtherTraining Me
NewCentre NewTraining NewPerson
I am trying to create a user form (in VBA) with a combo box that has each centre name appear only once (despite the fact that in the database each occurs multiple times). When a specific centre is selected, this brings up all the different training types associated with that centre in a separate list box. When that training type is selected, it should bring up all of the experts in that training type (for the specific centre). I should mention that the range is static (though the data is always contiguous) as the database is updated on a going forward basis.
I need to add items to a combobox without adding duplicates or empty data. I am able to add without empty data but how to ignore the duplicates.
Here is what I have...
Code:
Dim GL As Range
Dim ws1 As Worksheet
Set ws1 = Worksheets("Main")
For Each GL In ws1.Range("MainGL")
If IsEmpty(GL) Then
'do nothing
Else
ComboBox2.AddItem GL.Value
End If
Next GL
Populate Adv Filter Criteria from Inputbox with valid data
I've set up a macro to extract 3 different sets of data using Advanced Filter (same data range, different criteria & extract ranges)
There are multiple options (different individual dates) to satisfy the criteria (a date) for each of the 3 extracts and I want the user to select the criteria (a specific date) from the range of unique values in the data range upon which the Advanced Filter criteria is going to be applied. (A bit like the effect provided by Autofilter)
My initial attempt was to capture the criteria date from the user and populate a cell, and then have a vlookup function in another cell check if that crieteria value exists in the specified range. I then ran a loop in the VBA code until the value is valid (ie. exists in the range). However, to streamline this I was hoping to allow the user to see a list of the valid (available) dates when they respond to my Inputbox request for the criteria.
My question is if it's possible to change the code and make it work faster. When I change the ComboBox I wait about 1-3 seconds for about 40 items in the Worksheet. I still didn't test it with more items. Here's the
Private Sub ComboBox1P2_Change()
If ComboBox1P2.ListIndex = 0 Then
ComboBox2P2.Style = fmStyleDropDownCombo
ComboBox2P2.Value = sign
ComboBox2P2.Enabled = False
ComboBox3P2.Clear
ComboBox3P2.Enabled = False
ComboBox1P2.SetFocus
ElseIf ComboBox1P2.ListIndex 0 And ComboBox1P2.ListIndex -1 Then
ComboBox2P2.Style = fmStyleDropDownList
ComboBox2P2.Enabled = True...........
How do I add the column heads (e.g. A1, B1, C1....) as items to a combobox or listbox if they are not empty?
View 9 Replies View RelatedI have a Combobox with it's 'RowSource' set to two columns x 1500 rows on a spreadsheet. The Combobox is set to 'fmMatchEntryComplete'. When the user types in invalid text I get an "Invalid Value Property" error. I would like to validate the Combobox so that the user cannot type text other than available in the list, or not allow for the focus to be taken away away unless the item is a match to the list. At present due to the interaction of other controls on the userform, the only way to clear the error is by pressing the 'Escape key'. I have a button designed to reset the 'RowSource' of the Combobox but even after adding a 'MouseMove' event to this button with code
Application.SendKeys "{ESC}"
The code for sorting a multi-column listbox in Retain Selection After Sorting ListBox was really good, and I've used it a lot in an application I'm building.
What I'm hoping to do is reload a listbox in such a way that the items appear in the same order they were previously in. I'll describe two scenarios:
1. User edits a record
- user sorts listbox
- user selects a record
- user edits record
- listbox reloads, unsorted
2. User adds a record
- user sorts a listbox and sees a record is missing
- user adds the missing record
- listbox reloads, unsorted
ideally the last step for each would be "listbox reloads, sorted" and the user would go on down the list. the tricky part i think is when rows are deleted or added.
i'm starting on a solution, but if there's some existing code that will do this i'd appreciate if someone could point me to it (because, for example, the listbox sorting code i referred to above anticipated things i did not).
I have a userform, on the user form I have a combo box. when i select an item from the combobox list. I want it to show only that item in the pivot table.
Code:
Dim i As Integer
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Description")
For i = 1 To .PivotItems.Count
If i = ComboBox2 Then
.PivotItems(i).Visible = True
Else
.PivotItems(i).Visible = False
End If
Next
End With
Adding items to combobox at run time
Setup office 2007 win xp pro ie8
Further to my post relating to swaping jpgs
The code below scans from the column on the row of the worksheet till it finds a blank, this seems to work ok as I previously had a msgbox in that displayed the value of n once the loop finished
So I was hoping that the values in the columns on that row would be added to the combobox but for some reason I get a typing missmatch error.
Code:
Dim n As Integer
n = 1
Do While LValue6 "" 'find out how many alternatives there are
LValue6 = FoundISBN.Offset(0, 32 + n).Value
n = n + 1
DataInput.ComboBox1(n) = LValue6 - I was hoping that the value in the cell was added to the combobox
Loop
I have a list box in the userform. I would like to add items into ListBox which correspondent with 4 combo box values. If all combo boxes is selected, that would be easy task. However, user might not need to select all combo boxes. If any of the combo boxes empty, my code fails that end up listbox is empty. I could write the code with all of the combinations, but that will be my last choice if there is nothing easier than that. Can I adjust the code such as if the combo box="" then skip then look at the other combo box if that is "" than skip again. If all combos are "" add all the items from the source.
My code is below:
AllStaffLB is listbox
StaffSrchCB is combo box
StaffSrchCB2 is combo box
[Code]....
I need to add about ~200 items to Combo From Other Excel File (with no duplcates).
How to make it.
Private Sub UserForm_Activate()
With cboComp
.addItem "item"
End With
End Sub
I would like to know whether it is possible to change the background colour of items in a dropdown/combobox on my userform?
I have a series of times at 15 min intervals and i want, if possible, to distingish between 'working hours' and 'non-working hours' by making the background of these numbers 'grey'.
Maybe looping through from 00:00 to 07:00 i.e 28 times (28 x 15min intervals)?
Came across an example in a VBA book, wrt adding custom menu items. This example included code for deleting the menu item before closing the workbook.
Is there a reason you'd want to do this? The example already had provisions to delete the menu item if it already existed before the code ran, so you wouldn;t end up with multiple items...
I have macro to copy data from one folder to another. However I would like a macro to delete the files in the source folder once copied
View 6 Replies View RelatedI have two sheets with about 7000 records in each. They both have two columns only. One is the master list. I want both of the files to be compared and then all the duplicate entries to be deleted from both files.
Ultimately I want to have only the entries in the master sheet that are not in the other sheet.
Looking for a userform command button macro "CommandButton1" to initiate a deletion of rows. Essentially "Combobox1" is a list of "Text" rows in columnA (after row16). I want the command button to delete the "Text" row chosen in the combobox and all rows below it until the next "Text" row. After this I want all "Number" rows below the chosen "Text" row to be renumbered by subtracting "1.000". The sequence of order I guess doesn't really matter as long as the desired outcome is achieved (meaning if for vba purposes it is better to renumber all rows below the "Text" row chosen then delete the "Text" row and rows between next "Text" row that is perfectly fine).
View 14 Replies View RelatedI read one of the threads that talked about adding commands to the right click menu. I added a few commands to try out, but now I don't know how to delete them.
I have a workbook with one sheet (called "Pipeline") and another sheet called "Completed". The Pipeline sheet is used to keep track of all of the tasks that the team are working on, and then when the task is completed, it needs to be moved to the "Completed tab".
I currently have managed to write some code that looks for items marked "completed" in row G of the "Pipeline" sheet, then copies them over to the "Completed" tab, and then deletes the row from the "Pipeline" sheet.
There is one macro to copy the completed cells (called "Transfer"), and then another to delete the cells (called "Delete"). I then just have macro called "Clean" that just calls the transfer macro, and then calls the delete macro.
Often, there are 6 tasks marked complete, and only some of them will be copied over, but all of them will be deleted (a disaster).
Transfer Macro : [Code]....
Delete Macro : [Code]....
Overall Macro : [Code]....
Option Explicit
Dim cMenu1 As CommandBarControl
Dim cbMainMenuBar As CommandBar
Dim iHelpMenu As Integer
Dim cbcCustomMenu As CommandBarControl
'(2)
Set cbMainMenuBar = Application.CommandBars("Worksheet Menu Bar")
'(4)
Set cbcCustomMenu = cbMainMenuBar.Controls.Add(Type:=msoControlPopup)
'(5) Give the control a caption................
I have created several spreadsheet with customized menus. In step 5 when I type
a period the options for selecting Caption does not appear. In step 6 the 'Control' word didn't appear in list. Sometimes the options in step 6 do appear BUT not the option for Controls. I have created spreadsheets with menus that work but the only way I could do it was to cut and paste from the website and then modify it.