VBA - MultiSelect in a DropDown - excel

I have a Requirement Where a bundle of Items needs to be displayed in the Drop-Down List. The Problem for me is, because there are so many Items inside it, I need to Use Combobox over List-Box. The Reason for that is, if I know the name of the item, I can type in the search box of the drop-down and get my Item, Combo-Box allows you to do that. But the List Box doesn't allow the User Input.
Now, Because there are some which names cannot be remembered, I need to use the Scroll bar in the drop-down to pick up the time. This is hectic, to select a single Item. I would like to have the facility of Using a Multi-select in this case.
So the Requirements are below:
1) A Drop-Down that allows the user to type in part of the Input(Say Ref for Refreigerator)
2) A Drop-Down that allows the Multi-select.
Obviously, I don't want to have two drop-downs Splitting the data.
I am open to other Suggestions.
Please Share your thoughts.

Related

Dependent excel list doesn't change when the main list item changes

As an MS-Excel beginner, I have created a 'dependent drop-down list' by data validation, using the below formula.
OFFSET($A$1,1,MATCH($A11,$A$1:$D$1,0)-1,COUNTA(OFFSET($A$1,1,MATCH($A11,$A$1:$D$1,0)-1,7,1)),1)
Now the problem is that when the selected item in the main list is changed, the dependent list still shows the previous items, and not showing any error until I go and click the drop-down menu to select from.
This may cause mistakes.
Is there any solution, preferably by not using VBA?

Sharepoint Drop-Down Column with Multiple Select Choices

One of my columns contain 200 countries. End user should be able to select multiple items from the list.
Sharepoint multiple choice column only allows for one of three choices:
Drop-Down Menu
Radio Buttons
Checkboxes (allow multiple selections)
I'd like to be able to combine the features of Drop-down menu and checkbox.
Is this possible and is there a workaround in Sharepoint designer?
Not looking to do this in InfoPath forms.
Thanks!
You need to put your 200 Countries values into a Custom List, then use a Lookup column rather than a Choice column.  With the Lookup column, you can allow multi-selects.
If you can change your field type to another then use type "Lookup column with multiple values". It has good UI experience. But you must create additional list with your 200 countries.
If you want to use only choice type field then I think no, you must add custom control on form.
May be like this:
1. Add script on form.
2. Script will render some jquery autocomplete control (https://jqueryui.com/autocomplete/#combobox) or select2 control (https://select2.org/dropdown or https://select2.org/selections) on form load. If no third party controls exists that applied to you then create own control with necessary features. Populate it from out-of-box field options.
3. Hide out-of-box field.
4. Add onChange or onPreSave handlers that copy values from your custom control to out-of-box field.
When form saved it save out-of-box field value to list item.

Multi option custom MsgBox popup window

I am not sure if this is even doable in Macro (VBA). The issue is, if a user enter a value in specific cell (lets say A2). I need to trigger a popup window (similar to MsgBox function) with several option for the user to select in the popup (either a drop down list or Radio buttons). The values in the drop down list or Radio buttons can be populated in the code. I need to let the user select the option "value" from the list and then can click OK or Cancel. The value that the user selected would be display in the same cell. I checked online and it seems like there are very small selections for the MsgBox function. Can this be done??
Thanks,
Your best option would be to use Data Validation to make a drop-down list.
If you go to Data-Data Validation-Allow-List you can create a drop-down list of all values you want. Store all of the values you want in the drop-down list on another sheet and just set it as the Source.
Any other issues let me know.

Infopath and Cascading Dropdowns

I have a question for you bright minded souls. I have an Infopath form for a Sharepoint List (meaning that this is considered an Infopath List Form) that I would like certain behavior for... and I'm not quite sure how to achieve it.
The gist is, I have two dropdowns on the form and I want the second dropdown to change its values based on the first dropdowns selection.
Both are pointing at the same list. The list looks like so:
ID, ModuleName, SystemName, PayCode, LineOfBusoness
1, Mod1, Sys1, O, LOB1
2, Mod2, Sys2, O, LOB2
3, Mod3, Sys3, C, LOB3
4, Mod3, Sys4, O, LOB3
The first dropdown contains just the paycodes, so basically "O", and "C".
Now the second dropdown is where it gets tricky.
The second drop down is to display all the Lines of Business (LOB) from that list based on the PayCode selected in the previous dropdown. If they select "O" then just display all the LOBs that has the paycode of "O".
BUT... if they select "C"... well then there are also dropdowns on the form where they have already selected System and Module... so it would then take those values that were selected and choose the value in the list that has the System they chose, the Module they chose, and the Paycode they chose.
How can I do that? My first thought was well, just use code... but it turns out Infopath does not allow custom code on a "list form" which this is... wtf? So then the next option is to use the "cascading dropdown" approach whereby you can also use rules and filters to try and achieve this behavior.
Can that be done? What are your thoughts as to how you would tackle this problem?
Thanks in advance, and please let me know if you need additional information!
One way to do this is in the code behind.
Take the first drop down, find the field it is associated with, right click and create a "Changed" event.
In the code behind event, a Changed event will be created for that field. There you can grab the value of the currently selected item of the first drop down. Depending on that value, you can then modify the contents of the second drop down.
Do this by grabbing the original list, and running an SPQuery that selects all the items that have a "O" or "C" or whatever selected value is. You can also run a linq or foreach statement on all the list's items, whichever you prefer :)
Note: Make sure the drop down list control properties has "Always" selected in the Browser Forms tab of the properties (right click on the drop down list to access these properties)
Hope this helps!

Sharepoint re-order item order in the list

In the list, I set-up "ID" column and "Title" column.
I added 10 items in the list, and I'm trying to put the 10th item between 1 and 2.
After my research, many people said I can't manually change ID number...
Is there a way to re-order the item?
deleting every items is the only answer?
Please help!
The ID column is an internal identity-like column. You cannot change the value. If you need a column that you can order by (and change), just create a new column called SortOrder or something. Then sort by that column.
I know this is an old post, but I thought this might help someone who might be looking for an OOB answer.
Go into your links list so that you see your List Tools, Items and List at the top.
Select Items.
There is a Change Item Order Icon in the Ribbon. This will allow you to renumber the Links in your list and change the order.
You can manually change the items order if you create your list based on a link list definition. This kind of list allows you to re-order items as you require through a ribbon button. I use this workaround often.
The ID Column is SharePoint inbuilt and you can not change the value of it.
for your solution either you need to delete all item and insert it again or as #Nigel Whatling say you have to add SortColumn
Column Setting will only change the order in the SharePoint List. To change the view order Use the Modify View Selector to adjust the way the fields are sorted. Modify View is found on the ... next to Find and Item Box or If your in the site setting it is under View on the lower 3rd of the page
I also got stuck with this and couldn't use the previous answers as I couldn't see the buttons they spoke of in the ribbon.
I went to List > List Settings in the ribbon. At the bottom of the list settings page I click on a View to edit it (or create new view). Unser the heading Sort you can change the column you wish to sort by and change from descending to ascending etc.
Actually, if I understand the question, it was just what I was trying to accomplish and spent most of my morning working on.
Select the List.
From toolbar, select List under List Tools.
Click List Settings.
Below the listed columns, see Column Ordering
Modify "Position from Top" number and click OK at bottom.
Updated steps:
Select the List.
From toolbar, select List under List Tools.
Click List Settings.
Above the Column list click on the "Item" link
At the bottom of the page select "Column Ordering"
Modify "Position from Top" number and click OK at bottom.

Resources