ID no | Name | Group | Organisation | ...A load of data metrics...
Currently I'm using a standard combobox to select which row of data to analyse - this is based on the concatenation of the persons name, their group and their organisation. What I would like to do is to:
1. Be able to select more than one person
2. Be able to select all/some people from the same Group and Organisation and get their data - e.g. filter the data so that only data for one group is shown and then be able to select one or more names from that group to analyse the data for
I have a listbox with 8 columns. Multiselect is enabled, and it must stay this way. As part of my program, after the user presses a command button, I need to use the row indexes of the selected rows in order to copy the selected information into an array which is then placed in a different listbox, and then delete the items from the original list. Pseudocode of what I want to do:
[Code] .....
But my understanding is that .ListIndex does not work this way with multiselect listboxes. I've tried searching for a solution for a while, but I cannot find one.
I have a workbook and have created a filter across range A1 - BU1. I want to filter column BQ. In this column I want to use the filter to show all values except for 0.
As I have not tried to do this yet this is a hypothetical scenario. Imagine that a column, when filtered, gives cell values such as 3,6,9,12,18,24,36 ..and so on. Is there a way to select, say 12, and then see all the other values that are divisible into 12. e.g. all rows that have 3,6,12. Another example- select 36 and see 3,6,9,12,18 and 36?
On the attached example sheet, column 'O' will be filtered.
I have a multiselect listbox with values that gets populated from a sql statement, and I would like to get is the first or second index from the selected item. I know how to get the listindex from a combobox by using:
VB: cbnumber.List(.ListIndex, 0)
How can I loop through and get the 1st index number for the selected items only from the listbox? I want to pass this index number to another sql statement.
I am trying to create a search filter that checks a cell for text or part of text in 3 columns and then filters out the rows that have a match. So there would be a cell at the top of the page with a line around it and the word type your search criteria here. The used types in a word and excel then looks into 3 columns below that have various data. If there is match then a filter action would kick in and only show the rows where there was a match regardless of the column.
I have a database that is setup and I want to add a ListBox to the userform and I know how to do that and add all the listbox entries.. my trouble is how do i save the selected entries(multiselect) to sheet and load them to the form (what was selected) using what i have below?
I'm trying to make two multi select listboxes in excel. I have tried I myself, but I know the excistence of VBA only since one week .
In sheet1 I have a number i.e. 50 in "A1" . First I want to make a list of this number, so cell "A2" = 1, "A3" = 2, .... "A51" = 50. This range has to be variable since the number can be 1 but als 100.
Then I want to populate ListBox1 in sheet2 with the list from sheet1. Next I want a second ListBox (ListBox2) and two buttons ("Add item" and "remove items") to move items from ListBox1 to ListBox2 and back.
Finally i want the selection that is made in ListBox2 to be put in sheet1 in a specific column (let's say C) where "C1" is the first selected item from ListBox2 "C2" the second and so on. This range has to be variabel since the number of selected items is not known.
Private Sub cmdSubmit_Click() If Me.lstProcess.Value = -1 Then MsgBox "Please Select SPA Process", vbExclamation, "SPA Process" Exit Sub End If ActiveWorkbook.Sheets("SPA Error Tracking").Activate Range("B4").Select Dim i As Integer For i = 0 To lstProcess.List(i) Do If IsEmpty(ActiveCell) = False Then ActiveCell.Offset(1, 0).Select End If
Loop Until IsEmpty(ActiveCell) = True
With ActiveCell .Value = txtLoanNumber.Value .Offset(0, 1) = txtProsup.Value .Offset(0, 2) = txtIssue.Value .Offset(0, 3) = lstProcess.Value End With Next i End Sub
1. What property would I use for the message box at the beginning, if the user has not made a selection?
2. I have the listbox set as multiselect. How can I update this code to take each selection and create a new row on the Error Tracking Sheet?
If the user selects multiple selections from the list box. I will need to create a separate row of data for each selection.
I have a mulit-extended listbox, a textbox and a button on a form.
I have populated the listbox with a list of files from a directory no problems.
First Part (Single Selection):
When I click on one/single filename in the list I want:
1. The textbox to be populated with the name I have selected
2. When I click the button (With the single filename selected, I want to call a function passing the filename I have selected.
The function could contain a msgbox(selecteditemname) for now.
Second Part (Multi Selection):
When I multi select filenames from the list I want:
1. The textbox to be populated with "Multiple Files Selected"
2. When I click the same button as before (With multiple filenames selected, I want to call a different function and pass each filename individually in may be a for loop)
The function could contain the loop and with each filename in the loop msgbox(selecteditemname)
I have tried the above and noticed that the listbox1.value property for multi listboxes dont seem to work and I am not really sure how to distinguish between one selection or multiselection to get a button to pass off to two separate functions.
I am currently setting up a userform where one of the options is for an error code (chosen from a listbox) but the user has to be able to select multiple codes. I have the below working if it is NOT multi select, works a dream and goes in the right column.
VB: If ListBox2.Text = "A1" Then LastRow.Offset(1, 20).Value = "x" ElseIf ListBox2.Text = "A2" Then LastRow.Offset(1, 21).Value = "x"
But as soon as I set it to mutliselect and choose say A1 and A2 neither one writes, I imagine because Listbox2.text is now A1,A2 and not just one or the other.
1. That when a user click on a cell in a particular column within a specific sheet:
1.1 That they are presented with a multi select listbox (Showing 20 items stored in a column in Sheet2 )
1.2 And when the items are selected that the items are automatically written in the same cell that was clicked in Sheet1 with a new line break in between each item?
I would like to add a combobox type control that will allow multiple selections. I know that the combobox in the MS Forms Object Library only allows single selections and that the list box is the way to go to allow multiple selections, but I am trying to keep the form as small as possible. I would like to add a control similar to the one used on pivot charts, where the user clicks the dropdown box and can select multiple items. I'm hoping this control is installed with MS Office and just needs a reference to it, but I am open to installing third party controls as well.
Data manipulation question here: how to dynamically filter and sort a multi-column data set? My end goal is to be able to (1) quickly collapse all columns into one single column, (2) remove all duplicates, and (3) sort the information in ascending order. A reference sheet is attached in case it's useful.
I want to add a msgbox with a no selection error to a multi select listbox I have. For a dropdown I just use "if .ListIndex =-1" but listindex doesn't seem to work. I'm playing with .selectedindex but it's not playing ball
I have this workbook with 22 sheets and 21 are hidden. On the one open sheet there is a button that opens a userform with a listbox. I have radio buttons on the side to control whether the list box allows single selection, multiple selection, and extended selection. I want to change extended to open all sheets.
Anyway, I have the list box populated but I can't figure out how to code opening single sheets, multiple sheets, or all sheets depending on the radio button selected when the OK button is pressed. I know the listbox depends on the selected property but I am stuck. Here is the code I had but it is a mess. I am still new to VBA.
Private Sub OKButton_Click() Dim Msg As String Dim i As Integer Dim UserSheet As Object If ListBox1.ListIndex = -1 Then Msg = "Please select a sheet." Else Msg = "" For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) Then For Each i In ListBox1..........................
I have a multiselect listbox in a worksheet that the user can select from. When the file is saved, closed and reopened, the user selections disappear. Is there a way of reloading the previous selections when the file is reopened? I have used the listbox from the control toolbox and have Excel 2003. My VB experience is very limited!!
I am trying to create a data entry form with a text field and a listbox. The list box is populated by another sheet and the text box will be used to enter names. I need to be able to enter a new name, select multiple options from the list box and then click a button to add this info to a sheet in excel.
I have read about changing the list options to allow this etc - the problem is I can't get the results to go back into excel - all I get is a name with nothing from the listbox.
Whats the VBA code for transfering selections on a multi select list box to a page. ex. the list box has selections from 1 to 20 and I want to select 3,4, and 5 then on the page I want it to say 3,4,5
changing two variables a various amount of times and running the same procedure and copying the resutls into another sheet. Seems like a perfect place for a macro. However, these variables can be chosen from a list that the user wants. So why not build in a listbox for each one. Now I have two listboxes one for variable A and one for variable B.
The procedure in theory goes something like this we change variable A from the base case and then run the procedure for variable B, get the results, then run the scenario again but changing only variable B abnd repeat. Then once, all of the variable B scenarios are done, I want to change the variable A and then repeat and so forth.
That is the background and my main problem at this point, is that have these values in two listboxes, I know how to do the for each loops and such, however, I do not know how to do them for values in the listbox.
How do I identify the values selected in the respective listboxes and then pull them so I only use them for the for each loop?
i'm having a problem with a script I have (script is below). What i'm doing is running a script that displays files in a certain folder, those files are then displayed on sheet1 column O and are linked so when they are clicked upon, the file will open. I also have a combo box with a input range of $O$O. That puts the values in column O in the combo box. Now here is a problem and request.
Problem first, when I select the file names from the combo box, they don't open the file, all it does is display the file name in combo box and that's it. how to I get it to open up the file? Now for a request, I have another sheet that is almost exactly as the one i described above. The only thing different I want is when someone clicks on a file name from the combo box, instead of it automatically linking to the file, I want them to click on a button to display the file.
Sub HyperlinkXLSFiles() ActiveSheet.Unprotect Dim lCount As Long Application. ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False On Error Resume Next With Application.FileSearch .NewSearch 'Change path to suit .LookIn = "c:Sec" .FileType = msoFileTypeExcelWorkbooks ' .Filename = " Book*.xls"..................
I have a workbook with multiple sheets , final sheet has a data of all sheets , in the first sheet i want to select what results to be shown in that final sheet ,, specially the week and the LDM
I currently have a column of data by month for the years 2013 to 2025. I want to show only dec, jan and feb of each year. I am currently using the filter function but I can only select one month at a time.