I have a user form that has a combobox, two textboxes, and a button on it. When the form is loaded, the combobox fills with data from a worksheet I created. THe worksheet has a column with the item names, and another column with the quanity of each item. The combobox is filled with the item names. SO far I have this done. My issue is that when the user selects an item from the combobox, and enters a quantity in to the first textbox, and then clicks the button, I want the quantity in the textbox to add to the quantity cell that the part number from the combobox references to. Then I want this new quantity to show in the cell and the second textbox.
I would like to use a combobox and I want to force the user to selected one item from the list, and not to be able to type anything in it.
My other solution would be to use a listbox but I like the combobox design better...
I found this code in a MSDN Forum but somehow, it does not seem to work. Maybe it is because I do not know what to do with a "public class", or my Excel 97 does not support this. I tried pasting the "private sub" in a sheet code (where my combobox is), but it did not work.
Public Class Form1 Private Sub ComboBox1_KeyPress(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
e.Handled = True
Is this code actually working under excel 97 and if so, where do I have to put it?
I have a ComboBox (cmbJobNo) in excel which lists a series of numbers. By using the code below other TextBoxes are automatically filled with related text once the ComboBox number is selected. On typing a number in the ComboBox the number is predicted, which is great except when a number is not sequential. Say the number is 15304 (the next number in list is 15315), when 1530 is entered, 15304 is predicted and VBA jumps to the next data entry Textbox, the data entry person then enters 4 (they type a lot faster than me, without looking), which is incorrect for that box.
VBA does not allow the complete number to be entered. If I turn off MatchEntry the other related textboxes txtClient and txtProject) do not automatically update when number is entered. What can I do to allow complete number to be entered and related Textboxes updated after number entry?
Private Sub cmbJobNo_Change()
If cmbJobNo.ListIndex > -1 Then txtClient = Format( Range("Jobs").Cells(cmbJobNo.ListIndex + 1, 2), "0") ...............
I already have various dependent validation lists established using the INDIRECT function.
Now I want to figure out how I can automatically change the selected values given the selected list. For example:
Cell D11 is a validation list with options: Boat/Car
Cell D15 is a validation list where if D11 = Boat the options are Catamaran/Sailboat/Tugboat. If D11=Car the options are Convertible/Sedan/Midsize.
The problem is that if D15 is preselected as Sailboat, for example, and you go back and change D11 to equal Car, cell D15 remains an option from the Boat validation list. I would like it to automatically update as the 1st item on the car validation list.
I've been updating all the charts manually each time I update the entries in the worksheet which charts are created from in the same workbook. Is there any way (eg. by use of macros or VBA) that I can have all the charts updated automatically when data ranges are updated each time?
Suppose I have a department List, and I made a list from that column (Department List), and I enter more staff and selected a department for them during registering, now one of the Department List Item change, How is it possible to change all the entry which has that department? For more info see the attachment.
I used to have a Text box on the form that allowed the user to enter a value for the Weight variable. But they wanted it changed to a drop down combo box so I have changed the form and added the combo Box with the following Private Sub CmbBx_Weight_Change() CmbBx_Weight.Value = UCase(CmbBx_Weight.Value) End Sub
What the user wants now is to have the combo box where they can enter a variable for the first time through and this value gets added to the combo box list. (The combo box starts out empty). And each time after that when the user comes to this combo box, the first value will be there already and they will be able to use that value or enter a new one and each time save this new one to the combo box. I have been looking at the board for an example, but can't figure it out.
I am trying to work up a referral tracker for my wife's employer. I have Named Ranges on sheet 2, a running log on sheet 1. I also have a userform that is being populated from the ranges on sheet 2. I have the project mostly functional, except for a feature I would like to add in. I am interested in adding to the named range that is being accessed if the entry is not in list, via the combobox1 on the userform. Also, if possible, I would like the list to re-sort behind the scenes so the added entry is properly located in A-Z format for next time. After searching the web a bit, I found some code that might work with some tinkering, but currently I am having issues with it. Here is the bit I am trying to use.
I have been getting 424 Object Errors and a few others as I continue to mess with this. I am also attaching the project if someone may see a better way of getting the task accomplished. The overall scope of this is to log all referral sources so monthly and yearly reports could be made.
I am trying to find out whether you can restrict the rest of the userform from being available, unless a certain field is entered.
I have a tax invoice userform, I want to restrict the user from entering any other data unless they have selected a customer.
There are other fields such as Customer Address, Customer Number, Disc% and Terms that populate through vlookup code once the customer is selected, so still need that to work once the customer is selected. I just don't want them to be able to enter any other data on the userform without the customer being selected.
I wasn't sure whether I needed to enter code into every other textbox or combo box that if cboCustomer = "" then pop up an error message, but that would require a lot of code to be entered. I have 30 comboboxes and 53 Textboxes that I want to restrict to not being available unless a customer is selected from combobox.
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 am struggling to cope with time (aren't we all). I pick up a range of cells formatted on the worksheet as hh:mm. Put these into a macro and do some sorting. Then I place them on another worksheet but they arrive as time serials. The time serial appears as soon as the cells are placed in the macro.
How can I retain the hh:mm format from one worksheet to the next without having to manually reformat the cells?
Is there a VBA format method for individual array elements.
1. Open notepad file. Type 01. Save it as "Book2.CSV". Close notepad. 2. Open Book2.CSV in excel
You will see that 01 is shown as 1.
I would like to retain 01 in Cell A1. How do I do this in CSV?
I know how to retain formatting in excel but not in CSV. You can do the following in Excel files:
In the cell A1, right click and choose 'Format Cells'. In the Number tab, choose the category as Custom. In the Type on the right hand side, I type in 00. The value 1 in the cell A1 gets converted to 01.
My question: 1. why is this formatting not retained with CSV files? 2. Is there a way to programmatically (macros) to correct this?
I've got several proccedures all inside a single module where I declare 7 variables as Public before the start of the first proccedure.
My structure is something like this:
Public v1 as Variant Public v2 as Variant . . . Public v7 as Variant
Sub Proc1 Call Proc2 (defines v2 as name of a file opened by a user; inside Proc1) Call Proc3 (inside Proc1) Call Proc4 (inside Proc3) Call Proc5 (inside Proc5) End Sub
Sub Proc6 Here I use v2 call Proc7 (inside Proc6) End Sub
Variable v2 is uniquely named and is only used to hold a file's name so that I can call upon that file in various procedures. However, after Proc1 ends, Proc 1 retains the variable names of some of my Public variables, but not all, including v2, which I need!
I've tried going through this all step-by-step, no joy/nothing apparently obvious. I've also turned on Tools-Options-General-Notify Before State Loss but this isn't generating anything either.
I have 4 columns, If column B (Ref No) is filled in, the adjacent columns, C,D and E become mandatory and an input box pops up on screen one after the other for entry into each column.
My problem is that I require a drop down list and not a input box for the final column (status). So i have created a userform with a combobox dropdown. I am having problems connecting the combobox selection to the final column, and for the selected combobox item to go into the right cell like the input box entry currently does.
I have attached a sheet and also you can see the code below.
Code in Sheet
VB: Public SaveVal1 Public SaveVal2 Public SaveVal3
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
I am looking to modify my combobox from a userform to Filter the list based on the first entry on what the user will add.
I have a code that will search for all entries in my "Control" sheet and passed this on to my combobox:
I have, within a module, the following function code that the user find the entry by adding the first 3 letters of the search they need:
I would like to know what to change in the function to filter the list, once the user adds a first letter and then press the dropdown from the combobox, to filter the list based on all entries from the first letter to only show entries with that letter.
If A is entered, then, show only the entries strating with the starting letter A, but at the same time if the user adds more letter to filter to the first then second letter:
If AB is inserted, then, show entries with AB only.
Where do I add this code also, is this another function or this could be inserted within my function?
I have a form (the main one) which accesses a second form, which accesses a third form. All forms have a combo box, control button and a text box.
The items selected in the control boxes are entered into cells (the base cells) in the spreadsheet, via “Control Source”. The text boxes access these cells and show the selected items, which are then copied to other cells via a macro on activating the control button in the main form.
The main form stays open while other items are selected and transferred. Some of the items may not be changed (reselected) as they may be common. The problem is that after a number of items have been selected and transferred, the base cells for the second and third text boxes do not update after a selection from the combo boxes, and they continue to show a previously selected item.
The problem can be solved by closing the 2nd and 3rd forms and starting again. What can I do keep the cells updating without closing the form down?
in A1 there will be a box with LinkedCell set to A1 and ListFillRange set to B1:B5. I now want a similar box in A2, with A2 as LinkedCell. However, when I copy paste the box in A1, it still refers to A1 and B1:B5 (the last part is ok). I can easily change A1 to A2 by just changing it in the properties, but the thing is that I also need these boxes in A3:A100. Someone else helped me out by writing some code, but this is not working correctly yet, probably because I'm doing something wrong.
Also, the ListFillRange might expand in the future. Therefor I would like to know if its possible to select the boxes in A1:A100 and change the ListFillRange to B1:B6 for all at once, or even have a piece of code attached to a command button that recognizes the expanded range and updates it.
I couldn't attach the file because it was to big, therefor I uploaded it with yousendit: [url]
So in short: I would like all the comboboxes in column E to be linked to the cell underneath and have and option to adjust the listfillrange. The same for column F, but for this one the listfillrange needs to be O8:O11.
I am working on a project and would like to see if there is a solution for it. i have a workbook that has data entry that is summarized at a master level but I need to automatically use a formula to update another sheet after clicking an udpate button. The data from the data entry sheet needs to be allocated to all the lines that has the same master item based on the formula. A test workbook is attached ...
I want the script to find if the value entered in the form is matching the values in column 'A' in the database and if it matches then it needs to select the cell as active cell - to populate the form details. And if there is no matching value found, the script needs to select the last empty cell of the column 'A' to populate the data entered in the form.
1) Form has 10 different fields that needs to be filled by the user.
2) Field 1 - is a text box for 'Request #' to be entered by the user.
3) After filling in all the fields - once clicked on OK, the form should search for the the 'request #' entered on the form in the database (Form and the database are in the same workbook).
4) If the 'Reqeust #' in the Column 'A' matches the the 'Request #' entered in the form, then the matching cell should be selected (Activecell -Were the data can be overwritten, with the new entry)
5)If there is no matching 'Request #' found in the database, the script should loop to select the next available blank cell in column 'A'. So that the form data can be entered.
Update a list using a Combo Box works fine when the list is on the same worksheet but when the list is on a different Worksheet it does not work.
Is this achievable? I guess so! but was wondering how to do it.
e.g: if my range defined name called let us say "SP" with a range AD1:AD60 in Sheet1 when I use a combo box the Listfillrange will contain: SP
When inserting a new entry using the combobox it works fine but when the same defined name range points to a different Worksheet example: Sheet2 then the update does not work although the ListFillRange contains the same Range name: SP.
I am having a sheet where I keep track of when online surveys have been sent to users. The users enail address (column K) may be on the list for several times, but I need to make sure that there is at least a 7 days pause between sending the first mail and the second, depending on the visit date (column G).If there are less than 7 days between two entries with the same email address, the user is not qualified for taking another survey.
I was thinking to write an IF formula which returns either 1 or 0 and then let conditional formatting highlight and HIDE the row via a VBA loop.
Is there a formula that will allow me to look for the existence of any number value in a row of one worksheet and then return a specific number value in a cell on another worksheet? For example, if the formula finds any number value it will always return the number 15 to a cell on another worksheet.
I used a form with textboxes for data input for one of my vb macros. Currently I have the private sub from the form transfer those entries to a remote cell on the spreadsheet, (like in column "HZ"), so that the macro that will actually utilize them can retrieve them. Is there a way to pass that data directly from what is entered in the form in the textboxes to the macro that will actually use them?
Let's say that in column A I have numbers,"Yes" and "No". I want in column B to have only the numbers from column A, in the same order without any empty ranges, and everytime I add in column A a new number, column B to update automatically with that number. Let's have an example:
A B Yes 12 12 13 No 10 13 No 10 Yes
And if I want to add in column A: A B Yes 12 12 13 No 10 13 25 No 15 10 Yes 25 15
So the column be will update automatically. I already tried =IFERROR(INDEX($A$1:$A$10,SMALL(IF(ISNUMBER($A$1:$A$10),ROW($A$1:$A$10)),ROWS(B$1:B1))-ROW($A$1)+1),") but using this many times get's my file very heavy and the excel is working slow.