Below is code I have attempted. I am learning VBA and have gathered this code from the internet and this forum. I have data that is in columns B to E and from row 7 down. I want this VBA code to run when data is copied/pasted in these cells. Where the last values stop will vary so I just want to be sure this code is executed after all the data is pasted in these cells. The data will be pasted at one time. When the user removes the data from these cells, I do not want the code to run.
Private Sub Worksheet_Change(ByVal Target As Range) 'Do nothing if less than four cells are changed or content deleted If Target.Cells.Count < 4 Or IsEmpty(Target) Then Exit Sub
I am trying to create a macro which gives me an input box. I need to enter 2 numbers into the input box. It would be as follows:
Input Box Msg 1 - "What is your labor cost?" (NUM1) Input Box Msg 2 - "What is your productivity rate?" (NUM2)
Then I need the macro to take this info and enter it into a formula which changes according to the row which you are on. (I need the macro to work based on which ever cell I currently have selected). The formula would be this if I currently had a cell on row 10 selected:
So, if I currently had cell L10 selected, and I ran the macro and put 100 in for "NUM1" and 10 for "NUM2" and my sheet had 20 in cell H10, then the macro would enter the number 1,000 into cell L10. If I had L500 selected, then the macro would enter the final number into cell L500 based on what value H500 contained.
I am having difficulty with this formula. In the attached spreadsheet. I want to just input the item number in column A, manually. From there I want it to take the information from the hidden list and fill in the rest of the fields. Example. I input in A4-2664, I want it to search the list for 2664 and take the corrisponding information. It would take the information from M5, O5, and Q5 and place that in C4, E4, G4. I place spaces in the hidden list to make the format the same.
What is the proper syntax for working with a Range with to name it after the PasteSpecial command? The Selection approach I am trying here does not seem to work unless I am currently within the same workbook.
VB: Sub Create_Dashboards() With Sheets("Revenue Model") 'Strat Plan Revenue .Range("J2:S9").CopyPicture .Range("A42").PasteSpecial Selection.Formula = Range("J2:s9").Address Selection.Name = "Strat Plan" 'more code here End With End Sub
a user inputs the drawing number and revision in a box on the first sheet in the workbook. Once that is done, the user then selects the type of drawing from the drop-down menu, once "Submit" is clicked it takes that info and puts the information in the next available cell for the other worksheets (if that worksheet calls out for that certain part).
I've been having trouble trying to figure out how to be able to accomplish this task.
If you have any ideas, that'd be great.
I've attached a basic worksheet I drew up to give you a better idea of what I'm looking to do.
Forgot to mention that there are totals involved! The "destination" worksheets have set totals for each drawing type, so what also has to be taken into consideration is that the specific drawing needs to have the correct total beside it. I created a "Totals" worksheet to show what drawings are what totals for each cell. Realizing this may always change or be updated, I created a seperate worksheet to pull all the numbers off of. I thought this might be easier rather than going in and changing the coding each time.
I have rxd a pdf file that I need to manipulate I have copied the data into excel and now need it in individual cells:? The data looks like this: 02392950067 19/12/2008 14:33:35 02392950053 Portsmouth 1.9 £0.03. this is:
phone number calling | date called | time called | number called | duration in minutes | cost of call. If you're out there I'd be more than happy to hear from you. the cells to cut the data into will be formatted to take the data in the correct form. 02392950067 19/12/2008 14:33:35 02392950053 Portsmouth 1.9 £0.03 phone number calling | date called | time called | number called | duration in minutes | cost of call.
I have a range of cells that I want to sum based on a range inputed by the user. The range begins with cell c27 and ends with cell au27. I want the user to be asked the beginning cell and ending cell of the range they want to sum and then output the answer.
Trying to run a VBA to colour a range of cells based on the input of a name. I can write the basic level VBA to colour one cell by numerical input but struggling to see how this can be adapted to colour a range of cells and if instead of 1,2,3,4 etc the case could be replaced as text: eg Joe, John, Jason etc.
I want to create a macro which asks some information like functions do. For example, I would like the macro to ask for some data to be filled by the user. For that purpose I thought about using the inputBox vba function. I wanna fill the field in the inputBox with a reference to a range from an excel sheet. So, I click on a cell and then I try to hold ctrl + down cursor to get all the range starting from that cell on until the last consecutive filled cell on the sheet. Nonetheless, the problem I have is that when I do ctrl+down cursor, I just do not get the reference I want, because it seems that the ctrl+down cursor combination does not work in the inputbox for filling a reference to a range of cells. Does anyone know some workaround to achieve this?
The code below works fine, I can copy selected area into new sheet. However, I wish to custom change the Range("A1:AO164") value, for example, at cells(1,1) I key in A1, then cells(1.2) I key in A56, then this changes will reflect to the value in this macro to Range("A1:A56"). I tried using this way :
Dim A as string cells(1,1).text = a cells(1,2).text = b Range("a:b").Select
So I'm creating a UserForm that takes user input to create a worksheet based on the values input. My question is: How to select a range of cells based on a variable input value? For example, it asks how many competitors there are, and the user can input 5, 8, 10, etc. So I want that many cells in Row 1 selected, whatever the value input is.
I copy and paste large amounts of data using macros. Excel leaves some kind of trace, placeholder or something in the cells that are blank on the original sheet. So all my math calculations are messed up on the destination sheet.
Using GoTo special blanks does not work to select these cells in mass. I know how to loop through all the cells one at a time and check to see if they are "" or have a length of zero and clear them, but these methods take forever.
I want to copy all the information from a name range from a different workbook and paste it in my activeworkbook , but the trouble that I'm having is that it doesn't copy all the cells of the name range, just the first cell of the name range Here is the command that I'm using, not sure if it's the best approach
I need to pass range information (eg. WorkSheets("abc").Range("A1") as text or ??) from a cell (ie the above text is in a cell on some worksheet, say "XYZ") to a VBA procedure or could directly use it in the procedure, similar to...
Sub MyProc(RngInfo as string [or?]) dim RRng as range Set RRng= RngInfo ??? it is this part I'm really not sure how to do
where RngInfo is a worksheet that has a "named" cell that contains the above cell with the indicated range in it.
eg. RngInfo is worksheets("XYZ").Range("D1") where D1 contains the text (or ?)WorkSheets("abc").Range("A1")
I've only indicated these as text items because I'm not sure what/how you would do this. The end purpose of this is to pass variable Range information from a cell on a WS either into (or use within directly) a VBA Sub. I guess I could pass the WS and Range Address as a single string separated by a "Char" and use Split to separate them and then recombine using Worksheets(Parm(0)).Range(Parm(1)) but it seems like it should be easier than that.
Have a spreadsheet for creating employee schedules (any number of employees, 3 rows per employee, 5 columns for each day). I want to move all employees' info for one day (5 columns and XX rows) to another area and then clear the employees' data for that day. I have the code working for Monday but I don't want to duplicate it 6 more times for Tue -Sun. I have set up named ranges (i.e. MonFT, TueFT, etc.
I would like to call one subprocedure to do this and pass parameters for each day so the ranges can be changed to reflect the desired day?
I am doing this for holidays; i.e. if there is a Wed. holiday, store all of Wednesday's data and clear Wed. Then restore all Wed data when preparing the schedule for the following week.