I have a database of customers in sheet1 and can search colA by using .find command and find part of text string entered in textbox1, results are filtered and shown in listbox1. my problem is the listbox is only showing 9 columns and i need 12.
i think this is because i am using the additem command.
can anyone suggest a way around this or alternative coding method??
Sub cmbFindAll_Click() Dim strFind As String 'what to find Dim rFilter As Range 'range to search Set rFilter = Sheet1.Range("a2", Range("f65536").End(xlUp)) Set rng = Sheet1.Range("a2", Range("a65536").End(xlUp)) strFind = Me.TextBox1.Value With Sheet1 If Not .AutoFilterMode Then .Range("A2").AutoFilter rFilter.AutoFilter Field:=1, Criteria1:=strFind & "*"......................
On the attached spreadsheet, I have a command button on the search results spreadsheet that opens a userform to show the individual records with populated data.
This is working fine. The problem is when I use the 'drill down' button beforehand.
As an example, I search for the language "Italian". I then drill down to find "Females". When I click the command button and click Find, I only want the 3 records for the females, not the 7 that match the original search.
I know where in the macro changes are required, I just don't know what to change it to.
having trouble with the details of actually making these features work for me. I figured out how to create a UserForm with a ListBox and 2 buttons, but I don't know how to proceed from here.
1. Populate the ListBox in the UserForm with a list of names from the sheet "Totals_Dropdowns", cells K2:K11
2. Make the UserForm pop up and enter the user's selection into cell C40 of the "Regenerate Request"
I know these are very basic operations, and I'm pretty sure I can figure out the rest of my problems once I can get past the above.
I have a userform that I use to enter fault calls and it saves in to a spreadsheet.
I want to develop the capability to be able to have a form that Will search a pre-existing call and then when it finds it to bring up the main userform and populate it with existing details so that the user can amend them if reqd and save back to the database.
So what i want.
Userform - New Call Userform - search existing call
I want to open 'search existing call' userform, be able to search based on one of the following: callrefnum, fault_type, Call_logged_by
Once the call is found - it should be displayed and then on double click it shd open up in the main userform 'New Call' with all existing details populated.
I have a few subs that use userforms. They all work ok except that when they are filled out and the final click to close them is done , e.g. command button "OK" or "Cancel", the button is slow to respond. I usually end up having to click twice, or click and hold for a moment before it will register.
It appears to me that the program is hanging around in the last highlighted box the cursor was in and its slow to notice a command button has been pushed.
i have a ListBox in my userform i want to enter n items in the listbox at runtime i also want to have a delete button,so that if i think i dont want that particular item in my listbox,by selecting that item from that listbox and clicking delete,should remove/delete that item from the listbox.
I have a listbox that is populated based on a named range from another workbook. Below is the code that populates it:
Private Sub UserForm_Initialize()
Dim InvDB As Workbook
Set InvDB = Workbooks.Open("C:Documents and SettingsPATSYSDesktopInvoiceDB.xls")
With InvDB
ListBox1.RowSource = .Name & "!rng"
.Close
End With
End Sub My problem.
When I scrollbar down, no data appears.
This leads me to think that I need some kind of userform event to keep populating the listbox (similar to my code above) as I scroll up or down.
My questions: 1. Is it possible to specificy a rowsource in the properties window for the listbox that is pointing to an external workbook? If so, how do I write the rowsource?
I know that if the source workbook is open, I can use the rowsource:
InvoiceDB.xls!rng
But if source workbook is close, the below does not work:
C:Documents and SettingsPATSYSDesktopInvoiceDB.xls!rng
2. What is the userform event when you click the listbox scrollbar up or down?
I have a button that is "Add" in the userform. I would want to Combine different combinations of items together (Listbox1 and fschool) and list them out in a worksheet. However, in the current setting below, whenever i click add again, it replaces the previous one. How do i modify the code such that whenever i click the button, it puts the information in the next row of the worksheet? I tried using K+1 as a new row but it doesn't give any result
Private Sub Add_Click() Dim NewRow As Integer Dim K As Integer NewRow = K + 1 Worksheets("Results"). cells(NewRow, 2).Value = UserForm1.ListBox1.Value Worksheets("Results").cells(NewRow, 3).Value = UserForm1.fschool.Value End Sub
I have listbox on a userform with number and the way it should work is that when I click on a number in listbox the data correspond to this number should be copied from one sheet to another sheet and gets plotted on graph. The problem is when I click on a number in the list box the data moves from one sheet to another and get plotted but only after I exit the userform sheet.
On my userform, the user can decide to take a number of actions, each with its' own listbox. The user doesn't have to select from each. If the user inadvertently goes into a listBox, then there will be a record selected, most certainly erroreously. Is there a way to "remove focus" from the incorrect listBox and remove the selection? Maybe some way to signal that the rowSource should be reloaded?
I have this part of code that populates my ListBox
With UserForm1.ListBox2 .AddItem ActiveCell.Offset(0, 7).Value .AddItem ActiveCell.Offset(1, 7).Value .AddItem ActiveCell.Offset(2, 7).Value .AddItem ActiveCell.Offset(3, 7).Value .AddItem ActiveCell.Offset(4, 7).Value .AddItem ActiveCell.Offset(5, 7).Value .AddItem ActiveCell.Offset(6, 7).Value .AddItem ActiveCell.Offset(7, 7).Value .AddItem ActiveCell.Offset(8, 7).Value .AddItem ActiveCell.Offset(9, 7).Value .AddItem ActiveCell.Offset(10, 7).Value End With It draws the Values (names) off of Sheet1 and ActiveCell is B26
Question one: Is there a better way of writing this and for it to stop adding to the ListBox once there is no Value in the Offset cell....
The compile errors were happening in the For i statement, interesting enough the compile error went away after I closed the demo/example worksheet that had it in there too...? Not sure if that was the exact fix/trick. Now comes the next error: Run-time error '13': Type mismatch on the line highlighted below.
What else can cause this Run-Time error?? or is there another way to carry the listbox result into that second column. I am starting to think that the Run-Time is because the value selected was not found in that second column, or I am looking in the wrg column.....
Private Sub CommandButton1_Click()
Dim lbVal As Long
If ListBox1.ListIndex = -1 Then Exit Sub 'Not sure that I need the next line. Listbox is a SingleSelect. For i = ListBox1.ListCount - 1 To 0 Step -1 If ListBox1.Selected(i) = True Then lbVal = ListBox1.Value
I'm attempting to add the values for a combobox and (2) text boxes to a list box on a form. The list has 3 columns. When I run code to add to the list box the values are added on separate rows instead of the same row. See code below and attached screen shot.
VB: Private Sub cmdAddToList_Click() Dim i As Integer Dim iRow As Integer If Me.cboParts.ListIndex = -1 Then Exit Sub For i = 0 To Me.lstParts.ListCount - 1
I am trying to loop through a listbox with the code below.
what is happening is; if there are 6 items, the msgbox will show 6 times, but always with the last item in the list. I have tried different modifications but can't get it. There are no headers in my listbox.
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've attached a picture of how my userform is set up - all of the code is working fine and does very dandy, even if I do say so myself, but as you can see when I load data into the listbox, the date on the left hand side becomes M/DD/YYYY whereas I want it as DD/MM/YYYY.
All of the columns except Due Dateconsist of text/numbers and these load fine however even if I change the format of the Due Date data within the worksheet before loading it in it still loads incorrectly. Is there any way to format the date to how I want it within the ListBox?
I'm having problems loading data into a listbox. When the form first opens, it loads the data twice. I can then kill the form and restart it and the data is in there three times. I can't see any loading problems with the userForm_initialize routine. How can I ensure that the listBox is empty before I start adding data? This would also seem to be necessary prior to loading a different set of data into the form - correct?
I have created an userform listbox in workbook A and RowSource points to a specific range of values in a particular sheet in workbook A. The macro is activated by CTL(z). This part works fine as long as the active workbook is A. I want to activate the listbox from a different active workbook say B. The List box appears but no data because the rowsource points to a range in workbook A. I have tried to put Workbooks("workbook A") in rowsource but still no success.
I spent so long time to fix this problem, but it seems that I can't go on. I have a simple question. How can I get the data from the UserForm and use it in the worksheet? Everything works fine, only the UserForm makes problems. Here is the
I have created a userform on the "Database" sheet that has a listbox at the bottom that populates with records when I search for someone using the 'Name' box.
The problem that I am having is that when I enter "Person" and get the 30-odd records appear in the listbox, I click on say Person 5 BUT the userform fields do not update themselves fully with the correct information.
I want to create a listbox on a userform with 3 columns. The source data comes from the sheet "Data". After selecting a value from a combobox (which can also be found in the "Data" sheet), I want the first coloumn to display the matching LJHs, sorted ascending. Second column the matching date and the 3rd column to be the total quantity (maybe with SUMIFS).I dont know if you can refer to a listbox element for the worksheetfunction SUMIFS.
This is what the Listbox is supposed to look like and some sample data.
I have a UserForm with Combo Boxes, List Boxes, Text Boxes etc. When the OK button is clicked I want it to ensure certain fields are not left blank and notify the user (see code below). This works great for the combo boxes but not for list boxes. It seems to skip over that code. In other words, in the code below, if a manager is not selected, it doesn't notify the user.
Private Sub OkButton_Click() 'Verify fields are not left blank If cboAgent.Value = "" Then
I'm trying to return the selected items from a listbox to a range within a Worksheet when the user press the >> button as shown below. The point is i can't return ALL the selected items but only the first picked by the user.
Here is the code i'm using when button >> is pressed:
Code: Private Sub Inserir_Atributos_na_Analise_Click() Dim i As Long Set ws1 = Worksheets("ListBox")
I am trying to create a userform that is reusable by turning on and off diff objects, and reusing objects. I am running into a little difficulty of resizing the list box for various lengths if items Example would be if I have a list of items and the longest one is 93 chars long, I need a width of 672 When I have a list that the items are each 5 chars long, I need a listbox width of 92
For simplicity's sake, I am using Courier (supposed to be a monospaced font) pitch is 10. I would have figured that my width would be simply a matter of finding the longest length in the list and then multiply that times some magical number that represents the width of the letter (since monospaced, each letter should be the same).
But, with the 93 char long string, the "average length" of each letter seems to be 7.2 (672/93 = ~7.2) but for the shorter words, it seems to be wider at 18 (92/5 = ~18)
Is there a way to have the listbox size itself to the width of the strings?
Workx listbox contains text, others contain numbers. Now I need Pricex listboxes to contain the value of this calculation: Salaryx * Workforcex * Hoursx (For example Price17 listbox value would be Salary17 * Workforce17 * Hours17)
However, if Workforcex listbox is empty, then Pricex listboxes should contain the value of this calculation: Salaryx * Hoursx Then again, if user wants to skip entering Salaryx, Workforcex and Hoursx, I want to allow entering value straight to Pricex listbox. Then Salaryx, Workforcex and Hoursx listboxes should be enabled.
On the other hand if there already are values in Salaryx, Workforcex or Hoursx listboxes, then the Pricex listbox should be not enabled. I need the values of these calculations to be inserted in Pricex listbox right after there are enough inputs without pressing any button etc. (For example if there are values in Workx, Salaryx and Hoursx inboxes, the calculation should be entered to Pricex listbox immediatelly.
I have been trying to create a "Search" or "Look Up" form for my database. ( Attached file - "Test - Form").
I have been given a lot of help/ideas from this forum with which I managed to get to the stage where I could select the criteria i wanted to search by using a combobox and textbox in the userform. On hitting the "Find" button it shows all the results in the listbox.
The trouble started when I tried to display the listbox selection on the labels at the bottom of the userform. As the listbox is small and cant show all the fields properly, I need to display them in labels once user selects a particular record from listbox.
I managed to find some examples of this from this forum. (file attached "Action Log"). As I am not an Excel/ VBA expert, I have missed something and am not able to make it work.