I have a list box that shows a range of cells (called emailrange). I want to add a Delete button that enables a selected value in the Listbox to be deleted if necessary (just the cell value not the row).
How do you add or delete choices to a dropdown list without deleting all entries that were selected throughout the spreadsheet in the past, or having to change the validatons rules one by one?
I set up the list box choices (dropdown choices) by just naming the group of cells -- that is, by highlighting the group of cells, and typing a name into cell name field (in upper left corner of window); then using that name in data validation on the spreadsheet cell for the user.
- When I try to adjust the box, by adding entries and naming the revised group of cells with the old group name, it does not recognize the new group but the old group.
- If I delete old list and replace with new list, the previous entries disappear.
- When I try to name the new group a different name - it does work - but it involves changing the data validation on the user's spreadsheet, and skipping the ones that are already entered.
I wondered if there is a more efficient manageable way to maintain changes to the list items in a dropdown list box (one that is used for dependent lists) in Excel. I suspect it's easier in Access.
I have a worksheet called 'Letters' with data stretching from A2:W5000. I need a Listbox that will display only those entries that fit the following criteria;
Columns A and O have data in them, Column V does not. The other columns can be disregarded for the purposes of this project. Additionally, is it possible for the Listbox entry to show any formatting that appears on the sheet? What I mean is, I have a conditional formatting set up on the sheet to show any duplicate entries, for example if the entry appears twice the cell fill colour is yellow - I need that to be shown in the Listbox too if it is possible.
Im trying to sort items in two list boxes on a userform. I found some customizable sorting code online here:
But I'm not having any success with it.
I copied the 'Sub SortListBox' code and added it to the bottom of the Code for the Userform. I then added the following lines to the Userform Initialize procedure: Run "SortListBox", lbUnitList, 0, 1, 1 Run "SortListBox", lbPOList, 0, 2, 1
This should Sort lbUnitList Alphabetically by Column 1, and sort lbPOList Numerically by Column 1.
However as soon as I add those lines to the Initialize procedure it prevents the userform from opening. No Error message is displayed, it just won't load.
I have attached my workbook. The Userform is called ActiveEquipment.
I have written a VB-excel program after a lot of reading on this forum. Purpose of the program is to load a number of log-files with lots of data.
I load these files in a 2 column listbox, were the 1st column is the name of the file and the second column is a number, starting with 1, 2, 3 etc.
Since I don't get the files in the order I want them to be, I created a button to change the number in the 2nd column.
Now my problem: I need to sort the listbox according to the 2nd column. I have a routine that works ok, but whenever I make a mistake like duplicate numbers in the 2nd column, I lose all the data in the listbox and can start over again.
Dim listarray(20, 2) As Variant, Log_name As String, k, i, n, m, listnum, pos, remove_num
listnum = ListBox2.ListCount
For n = 0 To listnum - 1 pos = ListBox2.List(n, 1) - 1 Log_name = ListBox2.List(n, 0) listarray(pos, 0) = Log_name listarray(pos, 1) = pos + 1 Next n.................
I found this sample code that works from top to bottom of a spreadsheet. But I need something that will delete the first entry and keep the last entry. My data is sent from one spreadsheet to a Master and sometimes the details can be sent twice, if the responsible person forgets to enter one line of production. The criteria should be the first 5 Columns of the sheet.
Sub Dupe_Killer() Dim str As String Dim str2 As String Dim c As Integer Dim i As Integer Application. ScreenUpdating = False Application.Calculation = xlCalculationManual Sheets("SAMPLE").Select rw = Cells(2, 1).End(xlDown).Row 'Sort Data by Date, Location & Number Range(Cells(1, 1), Cells(1, 14)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Sort Key1:=Cells(1, 1), Order1:=xlAscending, Key2:=Cells(1, 2) _ , Order2:=xlAscending, Key3:=Cells(1, 3), Order3:=xlAscending, Header:= _ xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ ....................................
I'm working on a userform in excel 2003 and have hit a bit of a brick wall.
I have a listbox on a userform that shows only unique entries (customers) which are populated off sheet1 (called Names). On the sheet itself, there are customer entries repeated when there is more than one contact stored. I have the listbox working fine to show each customer only once.
My problems comes in here:
On the userform I have a textbox (this textbox in turn will determine specific contact details to be shown in other textboxes for the contact displayed) with a spinbutton that I want to show each contact for a customer (only showing one at a time and change made with spinbutton). I just can't get this to work properly...
I am trying to create a custom button in Excel that will sort on two different columns. One column has $ Sales and the other has Unit Sales. So you can click on the button and it will sort by $ Sales and if you click the same button again it would sort by the unit sales. I'd also like the text on the button to reflect what option the data would be currently sorted by. I am able to do one of these macros and assign it to the button, but can't figure out how to get both sort options assigned to the same button. I have had outside people send spreadsheets to me with this but can't figure out how they did it.
I want to be able to have a listbox on a sheet (whether this is already on the sheet or created by a macro I don't care), and have a button next to it. Once the list box has been filled in (with multiple selections) I want the user to press the button, the list box and button disappears and the items selected in the list box are placed into consecutive cells underneath each other.
First problem: To start with I have tried to create the listbox and button using VB
Dim lb As Object, ButCon As Object
Set lb = Sheets("Sheet1").Shapes.AddFormControl(xlListBox, 100, 100, 150, 100) lb.ControlFormat.MultiSelect = xlSimple lb.ControlFormat.ListFillRange = "M1:M8" Set ButCon = Sheets("Sheet1").Shapes.AddFormControl(xlButtonControl, 255, 100, 100, 25) With ButCon .OnAction = "Inactive" .PrintObject = False End With
Attached small application. Open the application and click on the LISTBOX button. Code for the Filter by Item button or the Filter by Representative button. I would like to select an item from either of those dropdowns in the search box, click on the relevant button and the list box will populate to show the results.
For example, if I were to select Chocolate Bars from the dropdown and click filter by item, I want to see only the three lines [i.e. line 2, 6 and 7] present in the listbox, and I want to be able to doubleclick on any of those lines to go to the record if I wish.
Similarly, if I select Robert from the other dropdown and click Filter by Representative, I want to see the relevant three lines [i.e. 4, 5 and 8] relating to Robert, present in the listbox, where I can again double click to go to the record [i.e. the data entry userform related to particular record selected.
I was wondering if there might be a better way to write this macro. What it does is clears unique items from a Range( leaves duplicates ) I've looked all over the net I can find all kinds of function and subs to remove duplicates but haven't been able to find anything that just removes single entries. I"ll bet there's a more elegant way to write this maybe using a Collection or a Dictionary.
Sub Dummy() Dim MP1_Rnge As Range Set MP1_Rnge = Range("A1:A100") For Each Cell In MP1_Rnge If Not IsEmpty(Cell) Then If Cell.Row = 1 Then..........
I have a problem on auto-sorting my data after clicking the "x" or "Close" button on DataForm. Im creating a command button that trigger a macro to open an autofill DataForm. I want a code that everytime i ADD or EDIT using the DataForm, it will automatically sort the Column A after clicking the "x" or "Close" button. Below is the code of my macro:
Code: Sub OpenForm() Sheets("DATA").Select ActiveSheet.ShowDataForm End Sub
Col 1 is user IDs and Col 2 is there status (pending, conditional, approved, rejected)
Col1 IDs are not unique because they can have multiple statuses associated with them in Col2. An ID can go from pending to conditional to either approved/rejected and all these are included in the raw data file. I want to remove all duplicate ID rows and keep the ID row with the last known status.
i have a slight problem i have this script which i want to run on all worksheets which are numbered (i.e. 1,2,3,4 etc) and to delete the rows in the F128 range which is under 00:05:00. I just cant figure it out to get it working.
I have a worksheet (attached) that lists various clients in columan C. Column E lists whether each of the clients listed in Column C are 'Existing Business' or 'New Business'. I require a user form that has three radio buttons (one to select 'New Business', another for 'Existing Business' & one for 'All').
When Selecting a radio button, (e.g. 'Existing Business'), I need all clients listed in Column C of the worksheet that also have 'Existing Business' in Column E to be listed in a ListBox on the UserForm (with the second radio button allowing the text box to list 'New Business' and the third to list both Existing and New).
I'm trying to Filter a list by the criteria selected in a listbox, and activated by a command button. My problem is the sort criteria. I have 11 regions, numbered 01EPS through 11EPS. Sorting by any of these criteria works just fine.
The problem is that I also want to be able to sort by ALL of the regions at once. I can do this by using a custom filter. I recorded a macro to see what the difference was, and it simply a matter of changing 01EPS to "=*EPS". However, adding that to my case list results in an error message of "Compile Error: Syntax Error".
My userform has an update button that displays a listbox in a userform. The user selects from the list, chooses to update and another userform appears to request some additional information before saving it to a different sheet. This works fine, but how do I then delete the row containing the original item on the original sheet selected from the listbox at the same time?
I have two buttons with macros attached. One button inserts a new wave line and everytime a wave is inserted, the number of that wave follows on. I have another button which inserts a new store line. There can be multiple stores per wave. What I want now is another button which when clicked would bring up a listbox of all the waves so that I could select a wave to delete. Once I deleted a wave I want the waves which are left to re number themselves so that they aren't out of order. This would have to also delete each store which was underneath that particular wave.