I have a very vast code with several subroutines based on selections from a userform.
I believe I have identified a loop that might be slowing down the process in the below:
Code:
Dim n As LongFor n = 23 To 65
If ThisWorkbook.Worksheets("record").Cells(ComboBox2.ListIndex + 3, n).Value = "INT" Then
UserForm2.ListBox2.AddItem ThisWorkbook.Worksheets("record").Cells(2, n).Value
End If
If ThisWorkbook.Worksheets("record").Cells(ComboBox2.ListIndex + 3, n).Value = "EXT" Then
[Code] ......
Basically the code will go through each value (that can be only of those four instances) and put the title inside a different listbox.
This works, but it seems to be maybe too "step by step" and direct? Is there a way for it to skip after it found the corresponding value to the next N without checking for a match with the other items?
I have a worksheet (attached) that lists various clients in columan C. Column E lists whether each of the clients listed in Column C are 'Existing Business' or 'New Business'. I require a user form that has three radio buttons (one to select 'New Business', another for 'Existing Business' & one for 'All').
When Selecting a radio button, (e.g. 'Existing Business'), I need all clients listed in Column C of the worksheet that also have 'Existing Business' in Column E to be listed in a ListBox on the UserForm (with the second radio button allowing the text box to list 'New Business' and the third to list both Existing and New).
My problem today, is actually being able to call the routines. I have tried to make a generic setup, so that each subroutine to be called is named "Macro_[number here]". So Macro_1, Macro_2 etc. By doing this I am hoping to be able to call all the subroutines using a For Each code.
I have a userform with lots of checkboxes and I would like to be able to create either a GIF file of the userform using VBA (if it's easy), or export to a .txt file all the checkbox labels and their respective values (i.e. TRUE or FALSE) which I think might be more easier to code.
I'm trying to capture if any changes are made to a UserForms selections.
I initially load all the data from the database when the first user form is initialized, see code below
[Code]....
Once I have selected the corresponing record from the combobox , in this case Planning Number, then select the command button which runs the code below
[Code] .....
Now the user form frmProcessEngineeringTemp is opened, it now populates all the comboboxes, textboxes and option buttons in this form based on the planning number choosen from initial user form
[Code] ....
Once the user has finished with the user form the information from the form is passed to a worksheet via a command button. If changes to the user form selections were made i need to capture what has changed (if anything), from what was initially loaded into the second user form (frmProcessEngineeringTemp).
I have seen numerous posts from various sites that discuss Change and Exit events from a Class module and many instances where each combobox, textbox and option button is hard coded to capture changes.
Being that I have captured my initial inputs from the database thru the myVar 1 thru 40, can this be put into a string array and the current inputs/selections in the frmProcessEngineeringTemp put into a second array then compare 1 to another looking for difference, then output the differences to a worksheet for tracking purposes. At the same time if changes were indeed made i would increment the Revison record by 1.
I have a multipage wizard like userform that for each page has check box selection choices a user can pick from. The sample I've attached uses animal attributes for 2 animals. What I'd like to have is code that populates the worksheet with the animal under consideration (determined by the Frame Caption) in say A5, then populates the attribute selections made starting in B5 with no blank rows in between if they chose not to mark a checkbox.
So for animal one on page 1 of the multipage form, if the user selected attributes 1, 3, 4, and 6 and clicked the "NEXT" button on that page, animal one appears in A5 and then those attribute selections would be in B5, B6, B7, and B8. If the user then selected for animal 2 on page 2 of the multipage form, attributes 2 and 6 and clicked the "NEXT" button on that page, then animal two would appear in A9 with the selections appearing in B9 and B10.
I should mention that the number of rows in Table 1 may grow (or shrink) row size with additional rows added (or deleted) by the user. Not sure if it matters.
I'm trying to create a dynamic msgbox that will display what data has been updated based on checkbox selections in the userform. I've named my checkboxes as Carey, Keith, and Juliet.
Ideally if only Carey's data has been updated, I'd like the msgbox to say
' Data has been Updated for: - Carey '
If Carey and Keith's data has been updated, I'd like the msgbox to say
'Data has been Updated for: - Carey - Keith '
etc.
MsgBox ("Data has been Updated for:" & vbnewline & _ If CAREY.Value =true then "- Carey" End if & vbnewline & _ If KEITH.Value =true then "- KEITH" End if & vbnewline & _ If JULIET.Value =true then "- Juliet" End if & ")
I am trying to take two random Mouse click selections and swap a set of ranges associated with the cells that are selected. For example if the user clicks on A1 it will resize(3,22) and store the selection as a variable to be swapped with another selection. Here is what I have so far but I keep getting a object required error on rngEmp1.
VB: Sub SwapGroup() If Selection.Cells.Count < 8 Then MsgBox "Please Select two Groups to swap. Press and hold 'Ctrl' in between your selections", , "Swap Groups"
sample.xlsmI am trying to create a sheet with dynamic lookup based on selections.
So if a user selects planning or costing and then the state then click on search then it cell B13 it should lookup from data sheet and give full state name and in cell C13 give the document name and in D13 give the print rule.
If in the data sheet the document type says planning/costing and there is no corresponding state to that document then it should be incliuded in all searches.
When I click clear then it resets the search. So if i select Planning and state as AL then the display should be Alabama ABC DEF
A12 AA1 (aligned to previous row) C12 AA3 (aligned to previous row) E12 AA5 (aligned to previous row)
Also is it a better option to do planning and costing as a radio button or drop down list. Is there a way in the state selections to show the drop down list arrow at all times. Currently when the cell is not selected it disappears.
I have zero understanding of how to do VB. I am trying to create a risk assessment template where I have a ton of questions to which I want a column E impact drop-down selection of N/A, High, Medium, Low; a column F probability rating of the same. This SHOULD a result in the subsequent two columns result based on those selections.
For example, Column E selected as High and Column F selected as High should make Column G automatically display High and, ultimately, column H to display 100.
Here is where I am at for trying to get Column G's result though all I seem to be getting is a FALSE response to each state instead of the intended result.
I have been trying to put this together but am confused since I am new and this seems complex to me.
This is what I am trying to accomplish:
IE.
$F6 = 100
If $I6 is >1 AND $I7 is = 1 AND $I8 is =1 AND $I9 is =1 then $J6 =$F6 If $I6 is >1 AND $I7 >1 AND $I8 is =1 AND $I9 is =1 then $J6 =.5*$F6 If $I6 is >1 AND $I7 >1 AND $I8 >1 AND $I9 is =1 then $J6 =.33*$F6 If $I6 is >1 AND $I7 >1 AND $I8 >1 AND $I9 >1 then $J6 =.25*$F6
I am trying to divide a dollar amount equally between "Officers" if they were part of a transaction. By selecting the officers it would divide the total amount equally.
Iam trying to auto filter a data range based on criteria passed from a list box selections.I want the auto filter to be filtering column 2 of the data range based on ALL the items SELECTED from a multi-select list box (named listbox2) at the click of a button. Here is what i currently have:
VB:
Sub Cmd1_Click() Application.ScreenUpdating = False For i = 0 To ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then Range("A3:C600").AutoFilter Field:=2, Criteria1:=ListBox2.List(i), Operator:=xlFilterValues
[Code]...
It works, only that it filters the data by ONLY the last selected value of the list(i.e only one value item in the list). I want it to loop through ALL the selections, applying filter on column 2 based on EACH of the selections on the list box.
formula for when i select from the drop-down boxes it returns a value that i have placed next to it on a separate sheet. I have attached an example of what i am trying to accomplish
in cell A1 the user will select from a drop down list 5.50, 11,22, 33, 55. in cell B1 user selects from the drop down list a number 1 - 9. now in cell c1 I wont it to do some calculation based on the selections.
If b1=3, then A1*.20, if B1=2, then A1*.30, If B1=1, then A1*.50 and if B1 is greater then 3, post 0, if B1 is empty, then leave c1 empty.
Could anyone please help me frame a vb code for the below explanation?
I have a sheet where in some terms are provided. Users have to open this sheet and check its description. After going through all the terms, they have to select the required terms using a checkbox given beside these terms. After checking the reqd. boxes, they would click on 'Submit' at the end of the sheet.
Once Submit is clicked, a new excel workbook should open up with the selected terms as various column headers.
I have written a number of macros, and I typically use Application.Screenupdating = False at the start, and set it True at the end of each macro. However, I now have some big macros which call others as subroutines. This results in the screen updating for each pass thru a called macro, as the Application.Screenupdating = True statement is executed. Is there a means to repress this at the top level, or is there a better approach to take in writing code which will stop screen update for a macro, but not restart it each time the macro is called as a subroutine?
I'm creating a new spreadsheet for different fines we have as a football club.
I have a table frozen at the top which looks like this:
Fine 1 Fine 2 Fine 3 Player 1 Player 2 Player 3
Then also I have a list below this with the date and specific fines:
Date Player Fine Amount (drop down (drop down Entered manually list of players) list of fines)
I am wanting the amount of the fine to be entered into the table at the top of the spreadsheet automatically based on the 2 drop down list entries. I would also need the table to keep adding the fines together once new entries are made.
I'm having issue with passing along a variable. I learned this morning how to pass these along. But for this instance something isn't working correctly.
The code is below:
I cut out all the subs in between so you can see the problem.I think it has something to do with "File search"
The problem is after sub New_Pro_Test runs then returns back to Sub RunFolder I get subscript out of range error. It is suppose to open the next workbook in that folder.
I have a main macro (m1) that is outputing text to a datafile. When m1 calls a subroutine(say m2), how do I pass the file stream into the m2 as parameters so that m2 can output to the same textfile?
Sub m1() F1 = FreeFile 'Open "C:in.txt" For Input As intInFile Open ".out.txt" For Output As F1 Print #F1, ActiveCell.Value m2(what I Do put here?) End Sub
Sub m2(what Do i put here?) Print#F1, "stuff" End Sub
I am making a form with drop down boxes and auto fill to make things easier. I have one Box for the Company selection another box for the occupation selection and I need a formula to find a $ value based on the selections made in these two cells. If I could establish the actual cell reference of the selected data in the second drop down list. The data will be much larger than this example and will live on a separate sheet.
I have two combo boxes that both contain 7-12 separate search criteria for the user to choose from. The other includes months and the other value ranges in text form. Based on the selections, e.g. "August" from other and "increased by more than 5 %" from other, I'd like to have a command button to execute the appropriate macro. I've already compiled the macros for each occasion but I just can't figure out how to get the button to execute them. Can I use the Select Case statements? If so, how?
Oh, and whether it's relevant or not, the boxes and the button are from the control toolbar.
As you can see below, I've written code that writes random numbers into three columns of a spreadsheet (10 numbers in each column).
What I want to do is create code that will run the random number generator for a period of 1 minute and then stop. I know that I will need to write a timer subroutine to do this but I'm how unsure how to do this.
I'm trying to use combobox1, say, department, to filter items listed in combobox2, say, employees. I don't want all employees from different departments listed in the combobox2 so as to make the user spend time looking, but only names of a particular department once that department is selected in combobox1.
I have a userform with multiple buttons and a listbox. When any button is clicked on, a listbox is created. The user selects various items on the listbox. Then the user clicks another button and selects other items based on a new list. If user goes back to click the original button, the original list shows up, but the selected items are not highlighted. Is there any way to keep those original selections highlighted (selected)?
On one sheet I have a long list of items which I need my users to scroll down and, when needed, fill in a value next to the appropriate item in the list. Most of the list items will not need anything inputting against them. Then on a different sheet I need a nice tidy summary list which only shows those list items which have an input against them.
The bit I can’t do is getting these few items to display (on a separate sheet) in a nice neat all together, contiguous way - ie with no gaps. Also I need to populate this summary list automatically. ie after each entry.
how to track selections from a dropdown menu, I have 8 selections under the dropdown that are being selected from a list. Next to the list I want to have the total of the number of times it was selected on the dropdown. I've tried the data>subtotals, but It only seems to create 0's under the dropdown box.
I dont want the totals in the dropdown box I want it next to the list of 8.
I have not used Inputboxes or Userforms much. I have read through some of the messages here, but I need to learn more about them. I need to create some type of user interface, where the user would be asked to select between two choices. Based on the choice made, a macro would be executed. The two choices run different macros. I need direction or an example of an Inputbox that shows two choices instead of a blank input space.
This should be very easy, but I am not getting it to work. I have a userform with a combo box and I just want to hard code the values to it in VBA. I want the value in the combo box to be 1 - 10. Here is what I have so far.