I am trying to come up with a macro that selects values from one sheet and inserts them into another sheet. The number of values will change each time based on the user's entry, as well as the number of times that each entry should be pasted.
For example:
Entry: X | Y | Z Number of Times to be Inserted to New Sheet 3 | 2 | 1
Result: X X X Y Y Z
I have spent a while trying to figure it out, however the best I can come up with is using an array, but I can only get one value from the array to paste multiple times:
(*Note: In my testing, I didn't insert into new sheet or set up the array to handle different values, I was just trying to get the basic idea to work)
Dim A(1, 3) As Variant A(1, 1) = Range("C3").Value A(1, 2) = Range("D3").Value A(1, 3) = Range("E3").Value
i have 18 arguements that i want to enter using the "if" formula. however, after entering the data i get a message stating that i have too many arguments.
here is the data that i'm trying to enter: ALLOYDENSITY A200.291 22050.285 254SMO0.284 A2000.321 A4000.319 A6000.304 A6250.303 A800HT0.287 A8250.294 C2760.323 C220.290 A2860.289 I7180.296
i start the formula as follows: =IF(B7=20,".291",IF(B7=2205,".285",IF(B7=254,".284",............. i drop the letters from column "b" because i stopped getting error messages when i took them out.
I’m using a SUMIF function to evaulate some date. The second argument in the function, the criteria, is that the numbers to be summed are greater than 25 but less than 50.
"You've entered too many arguments for this function" Logically I can follow this message but I was under the impression that you could get a maximum of 64 arguments in an "IF" condition.
The actual value of Cell P34 is DKK1938.22 so I expect it to return £203.68 in cell Q34.
If you try to use this it will not work, as excel takes only 7 arguments can someone help me with this. Do any one know macro for the same.
if you use this formule it will work =IF(E18>760,(">760"),(IF(E18>550,("550-760"),(IF(E18>365,("365-550"),(IF(E18>210,("210-365"),(IF(E18>120,("120-210"),(IF(E18>90,("90-120"),(IF(E18>60,("60-90"),(0))))))))))))))
I want to create a modalless userform with a textbox on it. While running, if user select a range on the active worksheet, the textbox will display selection address (example $A:$B,$A1:$C2...). Now I can do this with Application SheetSelectionChange Event. But I dont know how to make my userform like a Function Arguments dialog.
I need some assistance in using an array formula which averages based on multiple arguments. The relevent range names in my input data are:
Col A - Manager Col B - Report Type Col C - Days taken to Complete
and I have used Validation Lists to include several different Managers and 5 Report Types which I'll call A - E, with Days taken to Complete an input. Each Manager may have 0 to numerous instances of each report during each period.
I'm trying to build a table which includes each manager and the average number of days taken to complete each report. The complication is that, while Report A & B are separate reports, for this purpose I need to get an average for A & B together.
For C, D & E, I have used the following: {=AVERAGE(IF((Type="C")*(Manager="Smith"),Days_taken_to_Complete))}
but this doesn't work. Could someone please advise me the correct formula if either of two states in a named range are to be used to average a second named range?
VBA will error out with "Run-time error '424': Object required". I know I need to declare the variable arg1 as a type in order to use it in this form, but I don't know the correct data type.
I also ran across a similar issue like this where the advice was to use the Set function in the form of:
Function addValuesToComboBox(arg1) Set arg1 = arg1.AddItem("one") Set arg1 = arg1.AddItem("two") Set arg1 = arg1.AddItem("three") End Function
I used to get data from a database (CorVu & MIMS) in this format "0122458/001". Due to changes in those Databases I now get the data as 2 columns " 0122458" and "1" .What I need to do is somehow get this back to the old format including the leading zeros.
I have a multipage control on a userform. On Page 8 of that multipage, I have label1, part of that label is modified by other parts of the program. This is done by the program writing to a sheet of Data and then the program pulls that info into this label. My question is,what is the correct format to populate the label? see below: This is what I have in my Userform_Activate and Userform_Initialize subs:
CurrentVersion = Sheets("Data"). Range("N2").Value Label1.Caption = "This will allow you to change the Caption of the UserForms through out the operational program. Some UserForms cannot be changed. The ending of" + Chr(32) + Chr(34) + "Automatic 2005 V" + Chr(32) + CurrentVersion + Chr(34) + Chr(32) + " will be added to what you enter below as default."
CurrentVersion is pulled off of the datasheet which is a number like 5.9.8.2. however it errors "Run time error 13 - type mismatch" I can only suspect the label1.Caption needs something like: Multipage8.label1.caption =
I've been working on a spreadsheet and these forums have been a great help. I'm now at the very last section and, surprise surprise, it's also the hardest!
I'm creating a stock trade recording sheet. I have a userform ask the user to enter a date, a time, the number of stock purchased, and the price of the stock. These are then entered in a new row.
Now what I want to do is have summary cells which say how many stocks were purchased and the total profit made for each day. Since each time is given its own row, I can't know in advance which rows to sum over. I also don't know on which days a trade was made. So a summary cell should only exist if a trade was made that day.
Could I do something like.... check if the date matches then sum over all the values for that date? So if column A has the dates, can I say "Search which rows in column A have this date" then "for those rows, sum column C"?
Also, how would I create a a row for each traded date's summary cell and enter the date in it? I've attached a spreadsheets which manually demonstrates what I want to do (no macros) and a spreadsheet with what I have so far (basic macros).
Any and all help much appreciated, I just need to get my head around creating and dealing with variable ranges. Is that a really advanced task? I don't think this is a one line solution so please bear with me while I make mistakes!
I need to put a value on every line having "file:" in the second column. The value requested is a sum of the numbers in the forth column following this line until the next "file:" line.
I know it is not trivial, but sure it is possible.
Down column A I have a list of jobs, job 1 , job 2 etc Down column b I have either a blank cell or other data (will be numbers but is irrelevant) What I want is a formula for a cell that tells me which titles in column A have any data at all in column b. I need it to look like the following : Job 1, Job 2, Job 4 assuming b1 b2 and b4 have any contents and b3 and b5 and onwards are empty
I am seeing that concentate gives me close to what I want but the number of rows in column a and b change constantly and also may be above 30
I am working with 2 workbooks the first one "LH Enrollment" is used to enter information for new students being enrolled in the program. After the information is entered the macro is then copying the information to the second workbook "LH Children Records". The part I'm stuck on is that I now need to sort alphabetically by last name which is entered on Sheet 1, Column B of "LH Children Records". The number of columns will stay the same but the number of rows will change each time a new child is added. Eventually all this information gets copied over to several other workbooks, but I'm stuck trying to sort. I have attached both workbooks
I have a macro set up to copy and paste data from worksheets into worksheet 1. But the number of worksheets often changes. Is there a way to write this to include all worksheets even if the number changes?
Sometimes I will receive this file and there will be additional tabs. I just never know how many.
I copy down 500 rows knowing there will never be more data than that. And for each worksheet I paste to sheet 1 I add 500 rows to not paste over other data.
I would like the computer to read it as "select last indexed worksheet, copy paste to index 1, repeat while selecting the left adjacent worksheet until you reach index 1.
For each new worksheet selected add 500 rows to the last pasted amount."
I am trying to average a range which continually changes depending on the amount of registries entered in a given week. for example, one week there may be 5 registries which would fill five columns while another week there may be 15 registries, once again filling 15 columns. I would like to find the average of x amount of columns. My initial approach was to select the first blank cell to the right of the data and then find the last filled cell (which should be the first column of data. with this range i tried hopelessly to use the average function (did not work):
Sub averagemake() Dim iLastColumn As Integer Dim Rng As Range Sheets("All Data(Values)").Select Range("A6").Select Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate iLastColumn = Cells(6, Columns.Count).End(xlToLeft).Column ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-iLastColumn]:RC[-1])" End Sub
I am trying to join text in two different cells using concatenate function / & operator In the combined cell I want the text from second cell to appear in Bold while the text from first cell should continue to remain in normal font. Is there any way i could achieve this?
I am trying to find a way to combine two worksheets with identical columns and an unknown number of rows. Both sheets use columns A through K.
I want to add a new sheet called "Combined orders", then copy data and headers from Sheet1, paste it to Combined orders, copy data only from Sheet2, and paste it on the row after the last row of data from Sheet1.
Sounds easy but I am easily confused by the unknown number of rows in each data set. Can someone please help?
Also, are there a few lines of code that I can copy and paste into new macros that will make the unknown rows problem easier for me in the future? (i.e., instead of just showing me the code, can you also please explain the concept behind it so I can learn for future reference?)
In the code below, a formula is placed in column F to compute the total of that column. I first find the number of rows and place the formula in the cell below it. I'm dividing the sum by 2 since there are subtotals in the column.
Sub AddColumn() Dim NumRows As Long NumRows = Range("A65536").End(xlUp).Row 'get the row count NumRows = NumRows + 1 Worksheets("Report").Cells(NumRows, "F").Value = "=SUM(F9:F308) / 2" End Sub
The problem with the code is that I don't really know that the last row in the column is F308. I need to replace that part with a variable. It will be something like this (which I know is incorrect):
How would I use a variable in the SUM function in place of the cell names? Should I even be placing the formula in a cell, or should I compute the sum in the macro and place the value in the cell?
I have been trying to use the concatenate function to join some text strings to a cell on a different sheet - From an input sheet -Sheet 1 named Input, to a Notification Form (Sheet 2). Although the Function Argument display tells me that it will display the result I want it actually displays just the formula. It's a very simple thing
Address 1 10 Downing Street Address 2 Westminster Address 3 London Postcode SW1A 1AA
I want displayed as: 10 Downing Street, Westminster, London, SW1A 1AA in a single merged cell. All I am getting on the Form is =concatenate(Input!c25," ",Input!c26," "Input!c27," "Input!c28). I feel sure that it is a very easy solution but I can't arrive at it!!
I had a hard time to put a suitable title to this query, not sure if above is good enough for my query. I am entering combination of text and number in a cell using a formula. I am wondering if it is possible to add formula which can format number such that it is displayed in accounting format. Example:
Expected output = Trial 1,000 Using this formula ="Trial "&Sheet1!A1 where A1 in Sheet1 = 1000 Output is Trial 1000
I am trying to use the ARRAY.JOIN function as recommended by Domenic in previous posts. I need to output a single column of values from a 10 x 10 grid that does not have values in every cell.
(I would also like to eliminate any blank cells from the final column.)
I can only get ARRAY.JOIN to output the first value of whatever range I select, not a column of values.
I am trying to use the ARRAY.JOIN function as recommended by Domenic in previous posts. I need to output a single column of all the values from a 10 x 10 array that does not have values in every cell. (I would also like to eliminate any blank cells from the final column.) I can only get ARRAY.JOIN to output the first value of whatever range I select, not a column of values.
how to properly execute that function. One earlier comment was that I was not specifying criteria. I'm not sure from the description and help section of "morefunc" as to what those criteria specs are, other than specifying the whole array. I am attaching a test file with the 10x10 grid & some missing values in A1:J10. Cell L1 has the ARRAY.JOIN function with the entire grid specified, but the output is only the first cell of the grid.
I have a set of data in column R, with an unknown number of rows that looks like this
Days Late -28 150 3 16 41 . . .
and I have written a script to add an adjacent column "S". I want to fill column S with conditional values based on the value of column R, sorted into categories such as "On Time", "Less than One Month Late", etc. Here is what I have so far, it doesn't work: