I created a list box from Forms toolbar (instead from VBE). I would like to add items to this list box using VBA, but cannot find right qualifier to access this object. When I tried to use " recording macro," the code that was generated was
ActiveSheet.Shapes("List Box 7")
but if I try something like
ActiveSheet.Shapes("List Box 7").addItem "hello"
it doesn't work, because well, addItem method belongs to ListBox object, not to Shape. So if I want to add an item to this list box, how should I reference this list box so that I can call addItem() on it?
I have a (form control) combo box in my worksheet. Inside the combo box are several different ways a data set might be sorted. I would like to refer to the current selection of the combo box in my VBA code because I have a macro which executes differently based on the selection in the combo box.
I have found this piece of code which I know executes when the combo box selection is changed.
Sub DropDown1_Change()
However, I still do not know how to refer to the value of the current selection.
Below was my attempt to assign the current selection to a name, ComboValue, that I created:
Sub DropDown1_Change() Names("ComboValue").value = ComboBox1 End Sub
Strangely, this code executes once, but removes the name I created. It then returns an error on subsequent runs.
I have a combobox from the Forms Toolbox inserted in a worksheet and have a macro assigned to run when the user selects a value. After the value is selected in the combobox I'd like the combobox to clear itself (show a blank). Currently the selected value stays highlighted in the combobox after the selection is made. I know how to do this with a Controls combobox, but cannot figure out how to use it with a Forms combobox. (The reason I am not using the controls cb is because there seems to be an Excel2007 bug that causes the properties of the displayed text to randomly change when the control is activated. When a selection is made in the controls cb, the text displayed in the cb turns bold, and either grows or shrinks in size to the point that it is unreadable. Same thing seems to happen with all other ActiveX controls...) Sample attached.
How do I reference a spin button from a variable that I set.
e.g
Dim objSpn As Object Dim y As Integer
Set objSpn = ActiveSheet.Shapes("spnWCDate")
y = objSpn.Value
This doesn't work, but hope it explains what I want. It's so I dont have to write the whole object name each time I reference it.
ADDED: I've just noticed that this doesn't work even i do reference the object with the full name. I copied this from a forms spin control that I was using, why can't i store the value of the spin button in a variable?
Since Form Controls comboboxes don't allow font editing, I need to switch to ActiveX...
The combo box values come from the following cell range:
tbl_arrays!$I$3:$I$6
Those values are, from top to bottom: "select distance", "50 Miles", "100 Miles", "150 Miles".
The following macro is also assigned to the combobox:
[Code].....
I have two issues. The first is that the macro doesn't seem to be working. It is supposed to filter a list of cities within 50, 100 and 150 miles of a user input zip or city. The original Forms Control combo works but not ActiveX after I put the code in the change event:
[Code] .........
The second issue is that the last clicked value in the ActiveX comboBox replaces the top one.
Ex: from top to bottom, the combobox should display:
[Code] ........
but if the user clicks "100 Miles", the combobox is then going to display
[Code] ......
If the user then select "50 Miles", the box displays:
I am using a calendar control 11 in a user form. I would like to create a combobox on a user form that when you click the drop down button it opens the calender then the user can select a date which is then returned to the combobox. I beleive the way to do this is to trap the dropbuttonclick event. Tho it dosent seem to work.
Private Sub ComboBox2_DropButtonClick() Calender.Show ComboBox2.Value = Calender.Calendar1.Value End Sub
I have a list of People on one sheet and a list of Shifts on another. Some people have Qualifications (CPR, electirician, Non-Violence trained, etc.) and some shifts have Requirements. I would like to provide a (non-required) validation list for these entering these values. If the user enters a new requirement or qualification.
An explicit Validation list is too long. I don't want to use cells to hold a list that Validation can read from. So, my current plan is to a Selection_Change event to create/destroy a form ListBox, which will be populated by my VB code. How to place that is presenting some challanges. How to turn the user's multiply selected input into a comma delimited string is the easier of my two main challanges.
So, my concice question is when the user selects a single cell, how do I create a listbox that is possitioned over that selected cell? My non-concice question is: Is there a better way to go about this?
which of these toolbars provides the better 'controls' to paste onto worksheets (as opposed to UserForms)? For those wondering, both toolbars contain some apparently similar controls, e.g., combo box, radio button, spinner etc. but there are differences in their behaviour it would seem...
i have a form control listbox (list box 5), it is multi select, i need to create a for next statement that loops through the list in and tells me which "row numbers" as it were are selected. i.e if the 1st and 3rd ones are blue, it returns 1,3 in a cell? (lets say cell A1).
why this is causing an error upon opening the file. This workbook has a userform with a listbox (single list, single selection), and when I have the ControlSource property set it causes an error upon opening the userform (which opens when the file is opened), whereas if I do not have the ControlSource property set to anything, it seems to work fine.
Interestingly, if I set the file up to not open the userform with the file, and instead have the userform open when a worksheet control such as a command button is clicked, it doesn't seem to matter if the ControlSource property is set or not. The workbook in question is attached.
Is it possible to get the multiselection the users make in the listbox correlate directly to the original cells the rows pertain to?
the reason is I need to be able to get the users to multi select the cells they want to print and then send print commands to the documents ancd drawings located in their hyperlinks. So if there was some way to pull the Cells selections then I could work with this indefinately. I''m unsure whether this is feasable, I was thinking of putting the multiselect results into an array using the text values then doing a vlookup or something, but the original drawing register sheet doesn't have unique items just unique hyperlinks :P I cannot manipulate the physical layout of the sheet itself as other macro's are located on these sheets.
I have an issue with some unwanted items in a listbox that gets its data from a pivot table, however it only happens with the one pivot field and for three of its pivot items.
I tried following a suggestion from an earlier thread to re-create the pivot table, but it did not work.
I'd like to post the file, but its too large, even in zip format.
I have added microsoft listiview control tool in the toolbox with the help of Additional control. By using listview control, i am going to view the details of employees. If i want to use this tool, i have to add listitem property. If someone know how to add listitem property in the library,
Ive made a worksheet with a userform and ListBox. The listbox is filled with names. If you click on the last button a msgbox with your selected names is displayed. If you select the button without a selection from the listbox a message pop ups to warn that no selection is made. If you select any name afterwards and click on the button the message still pops up unless you select the first entry from the list ("natalie") then the code is right executed. I'm struggeling with the code for several days. I wonder if by any change somebody wants to correct the code. (I've uploaded my sheet)
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!!
the function I'm referring to is when you have a value in a cell and you hover your mouse cursor over the edge and get the black cross with arrows on all corners. Once you drag the cell into another location, it copies the the data into the other cell.
I need a way to stop this from happening, because this causes reference errors on other sheets when users do this by accident. However, I still need to allow the user to be able to type in that cell, use the autofill option, and the Ctrl+C option. Is there a way to program a macro that can be put in the sheets to do this for specified cells or ranges?
I am trying to get a range from a worksheet and add it to my listbox1 on a form but i keep getting this error message.. Run=time error '1004': Method 'Range' of object '_worksheet' failed
Dim ws As Worksheet Set ws = Worksheets("iSheet") Dim ilastrow As Integer ilastrow = ws.Range("A65536").End(xlUp).Row Dim irow As Integer irow = 0
For irow = 0 To ilastrow If Trim(ws.Range("a" & irow).Value) <> "" Then With ListBox1 .AddItem Trim(ws.Range("a" & irow).Value) & " - " & Trim(ws.Range("b" & irow)) End With End If Next
I can easily put a listbox into a spreadsheet and fill it with a rage of data from a sheet, however I am looking to create 2 listboxes where one will be filled with hidden spreadsheets within the workbook and the other with non hidden, to give the user the ability to move one from the other. The problem I am having is that I do not know how to call these created listboxes from in VBA. I can easily acheive this in useforms but would prefer it to be in the spreadsheet as I already have a number of userforms that fill data in a large number of spreadsheets that I want to hidden initially.
(Modifying some code by Leith Ross) I am stumbling why I get an error trying to fill the listbox with folder names. (See code in red for error location) ....
How can I fill a Listbox on a worksheet with all the work sheet names in a workbook. If one is added it will update the listbox, not using a userform. All the sheets will be hidden except main sheet with listbox?
I have set up UserForm1 with TextBox1 and ListBox1 controls. What I am trying to do is open the UserForm, type in a Batch Number in the textbox and fill the listbox with the Forename Surname and RefNumber associated with the batch number.
There is a sheet with some data. Suppose for a perticular column, say A, I put a filter.
Now, when I click a command button, I need a listbox which contains all the data in the filter. I mean, if there are 500 records of 5 different types, 5 different records are shown in the filter. I need that 5 records to be displayed in the listbox. Am creating an application which makes use of those records in the listbox.
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:
[Code] ....
The number I want to insert into the listbox appears, but not in column 3 in the selected row(s).
Hi if possible can someone please tell me how u populate a list box with three columns i want 1st col "A12:A209" 2nd col "B12:B209" 3rd Col "D12:D209" shown in it. Ive tried everything i can think of and cant get it to work
Have 2 listboxes, the contents of the second (fmmultiselectmulti) is populated based on selection of first. Sometimes (50%) when I open the workbook I receive a "Object Required" runtime error..
Private Sub ListBox1_click() Select Case ListBox1.Value Case "All" ListBox2.ListFillRange = "_Sheet2!A1:A1" Case "A" ListBox2.ListFillRange = "_Sheet2!B1:B18" <--- example of line that gives the 424 - Oject Required Case "B" ListBox2.ListFillRange = "_Sheet2!C1:C18" End Select End Sub
Looks as though sometimes when it runs, listbox2 is not yet initialized ?? If I go into Debug and look at ListBox2 it shows up as type "Variant/Empty" and not " ListBox/ListBox" ??!!?? Is this some type of timing/race condition on the loading of controls ? I'm out of idea's. Both listboxes are on the same worksheet (Sheet1). The ListFillRange for Listbox1 (which is a fmmultiselectsingle) is hardcoded and also references a range in _Sheet2 - no problems with this control.