I have a form control listbox, which is populated with filenames from a specific directory. When the user selects an entry I need that text to appear in a cell in the workbook. This is then concatenated with a folder path to open the file to copy and paste some data out into another workbook. I have tried...
Dim strlist As String
strlist = Sheet1.Listbox18.Text
Sheet1.Cells(1, 1) = strlist
But receive the method or data member not found error. The cell link property just returns the position in the list! I need the text!!
The only workound I could think of was populating a space in the SS with the directory contents and using the cell link value in a choose function to return the selected workbook name.
I am using this code to hide or unhide rows of text on another sheet:
VB: Sub ProcessSheet1ChangeOnCellJ7(ByVal Target As Range)
Dim sAddress As String Dim sValue As String
'Get the address of the cell that changed without '$' signs sAddress = Target.Address(False, False)
When the "Not Pursuing" list box option is selected (in cell "J7" or "J8" in Sheet 1) I need to add (or over-write) "Not Pursuing" to the range of cells in column "B" (in the "Tasks" sheet), but only for that particular Goal, meaning a limited range of cells in column "B". If the "Pursuing - Show All Tasks" option is selected for a Goal then these same cells need to be blank so that the appropriate person can enter their name into the cell.
The purpose for adding "Not Pursuing" automatically to these yellow highlighted cells is that it will facilitate filtering of tasks by individual in the "Tasks" sheet..
Again I have tried several times to upload a sample file and am unable to, which I know makes it more difficult to solve. (Is there some common mistake people make? I know it's an allowed format and is very small in file size....)
Code solution can be entered directly beneath:
VB: If Target.Value = "Not Pursuing" Then ActiveWorkbook.Sheets("Tasks").Rows("29:29").EntireRow.Hidden = False ActiveWorkbook.Sheets("Tasks").Rows("30:48").EntireRow.Hidden = True
I have 2 userforms. UF1 and UF2. UF2 has a rowsource set to its Listbox. UF1 has a search function that searches the original sheet. Now I want to double click on an entry in UF1's Listbox and select the same entry in UF2's Listbox. I want to then work with that entry in UF2.
I do all of this to circumvent Excels restriction. I can't search in a rowsource Listbox, but any edits done to my new Listbox wouldn't be made to the Excel sheet.
I have a listbox that has one or more (up to five) entries. each of these entries must then be represented by a variable. i set up msgboxes to make sure the right values are collected. but im getting back blanks!
With UserForm1.Booths For fLoop = 0 To .ListCount - 1 If .Selected(fLoop) Then fUpper = fUpper + 1: Redim Preserve Boothlist(1 To fUpper) Boothlist(fUpper) = .List(fLoop, 0) End If Next fLoop For i = LBound(Boothlist) To UBound(Boothlist) If i = 1 Then Boothlist(i) = group1 MsgBox (group1)...................
I have managed to set up a dynamic range called "Managers" which is held in a worksheet named "Lists" to validate entries in Col D of a worksheet named "PartTimeStaff" -
I also have 2 userforms which either add or delete managers names from the dynamic range, this all works well.
What I need to do when using the Delete form is to check that the managers name is not selected in any cell of Col D in the "PartTimeStaff" worksheet - this is to ensure the user has reassigned the records to another manager before deleting selected manager on ListBox1within this form.
The code which runs from a command button is below
Private Sub cmbDelete_Click()
Dim i As Integer Dim SelectionsIndex() As String Dim ArraySize As Integer Dim RowToDelete As String
Application.ScreenUpdating = False
With Sheet2 .Visible = True .Activate End With
Set ManagerStartRng = Range("A3")
Application.EnableEvents = False
If MsgBox("Are you sure you want to delete this manager?" & vbCr & vbCr & _ "This action cannot be undone!", vbQuestion + vbYesNoCancel, "Confirm Delete") = vbYes Then
I have searched the forum but can't find an answer to my problem. I have a list of about 3000 streets, a sample of which follows:
ARBROATH ST ARCOLA ST ARGO PL ARIES PL ARMSTRONG AVE ARTHUR AVE ARVIN CT ASHGROVE CR ASHLEY GROVE CT ASHWORTH AVE...................
I know how to populate a List Box, but rather than having to scroll through the entire lot I would like to just have to type in a few letters and the output only display streets that start with only those letters. For example, if I type in AS only the following appear in the listbox.
ASHGROVE CR ASHLEY GROVE CT ASHWORTH AVE........................
I have a spreadsheet with names of students, year groups, subjects and others. My VBA code will analyse student's results, but before I get there I would like the user to be able to select groups of students using listboxes.
Now I have a tonne of variables that I won't bore you with but the main thing I would like to do is to scan through each cell in a range on my spreadsheet and determine if the value of that cell is equal to a selected option in the listbox. This will let me, for example, filter by only Year 10 students, or select to display only Year 9 and 11 students.
I already have the code to scan through each cell:
VB: 'Run through each student and check they match the criteria For N = 1 To StudentList.ListCount
'Split the first and second names StudentName = Split(StudentList.List(N - 1))
Essentially, I would like to take the cell "A" & N2 and check to see if it matches one of the selected options in a listbox called "YearList"
I have a (MultiSelect) ListBox1 that is populated with Customer Names for the user to select from. I want the user to be able to hit the CommandButton1 adjacent to the ListBox1, and the selected Customers copy into/get added to the ListBox2.
I have the following code, adapted from other code, but it is not working:
I have a userform running with a number of text boxes, as well as one listbox. To extract a value from a text box I obviously write something = me.textbox.value. How do I do the same for a listbox (single item) as me.listbox.value produces an error!
I have a listbox on a userform, with multiselect set to 2 (Multiselect extended). When the listbox is displayed for the first time, no elements are selected. At a certain point in this application, I want to get back to the original state and deselect all items.
I do that with the statement Listbox1.listindex=-1. I hope that is the right thing to do. However, the elements that originally were selected are still blue-coloured, like they became when the user selected them. How do I do to make them look deselected?
It also seems to me that the array Listbox1.selected(x) still holds the value "true" for elements that were selected. Is it so that in addition to say listbox1.listindex=-1, you have to loop through the elements in listbox1 and set all of them to false?
i am making a phone company site on excel, with vba, for my college project, i need to know how to make it so wen i change the selected phone from the listbox, 2 show the image of the phone in the image box, from my files.
I have a workbook with roughly 25 sheets, each sheet represents a customer. Each month, I want to be able to run a macro in the workbook that will produce a UserForm containing a Listbox of each unhidden customer (worksheet) in the workbook. After I select all of some of the customers, hit a "process" button which will run a macro on each of the selected customers from the UserForm one worksheet at a time.
I currently have code written to produce the UserForm and populate the list, but I am uncertain how to write the code for the "process" button to run the macro on each selected customers one at a time. All I know how to do is have excel select all the chosen customer worksheets all at once.
I have a listbox that is automatically filled with data in two columns through a lookup function from a worksheet. That works fine. But now I want to fill the third column with data through a text box, but only in the rows I have selected in the listbox.
My code so far is:
The number I want to insert into the listbox appears, but not in column 3 in the selected row(s).
It seems that when reloading a listbox (in my case in ppt, but triggered from vba in excel) the ppt application (office 2010) was not highlighting the selected row in the listbox, and was infact also losing the selected row information when the item lost focus.
indication in excel that new data is to be displayed triggers macro in ppt to fetch data and update:- 1. select the userform and listbox 2. fetch the data from excel worksheet range into a local array 3. save locally the current selected index in the listbox 4. reload the data into the listbox and adjust column widths 5. relocate the old selected item, and set the new selected index
Summary of key Code lines which did not work:
Code which worked fine:
So in summary, if you get problems with listbox selected items not being highlighted, double check you are not re-defining column widths after loading the data into the list.....
I have a userform that search for a value in column A, it displays the results in the listbox. Example: Search for value "111" and it brings me back the following results back in the listbox "111 David 35". So this means 3 columns matching data is returned.
I want the following to happen if I double click on the item in the listbox it needs to update the value selected in the worksheet eg. strikethrough the row on the sheet to show item has been selected/done.
I am trying to take selected items from a listbox and put the selected items into an array. Basically I am trying to put the selected items into a variable that I can pass to other modules. I am close but something is off. I can't tell if it's the variable declaration or the code.
I get Run Time error 91. Object variable or with block variable not set
I've got a listbox (ListBox1) and it lists 5 files. names are One, Two, Three, Four, Five (all .xls) and they're saved in C:/MyFolder
What i want to do, when a user clicks a button, for a code to only open the files that are selected. So for example, the user selects Three.xls and Five.xls - the code would need to ignore the others and open the selected files.
Returning items selected from a ListBox. I have a Multiselect Listbox with 15 items. Additionally, I have a worksheet with 15 columns (each one corresponding to the 15 ListBox items). I'm looking for code that will do the following:
After a user selects values from the ListBox (can be more than 1, thus the Multiselect), I would like for "TRUE" to appear in row 2 of the worksheet for each column. (IE: Column A is for Bikes, if a user selects "Bikes" from the ListBox and hits a CommandButton, I would like for A2 to say "TRUE".
To this point I have been able to successfully write code that will save a constant set of worksheets as a pdf. However, I would now like to alter it to be able to dynamically select the desired worksheets from a list box (I have been able to populate my list box) and then save as a pdf. The last step is where I am have issues. This is what I have thus far..
Dim relativePath As String Dim Selected As Long
For Selected = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(Selected) = True Then Sheets("Summary").Range("Q65536").End(xlUp)(2, 1) = ListBox1.List(Selected) ListBox1.Selected(Selected) = False