Copying Formulas Across Workbooks Without File / Book Referencing?
Aug 13, 2012
How to copy a formula (16 columns) from a workbook to another, without referencing the source workbook.
Some people are using tricks such as replacing the equal sign "=" for another character such as "^" then using replace all to put the equal sign back again... but this is too much trouble.
I have an Excel file that contains formulas that reference external workbooks on a shared network. Each month, I copy the column of formulas over to the next month's column. Then, to update the file path, I highlight the new column and do a Find-and-Replace, swapping the previous month's name for the current month. This practice works fine. The only thing is ... the "Open File" promptbox appears for each formula where I updated the file path (i.e. and this can be hundreds instances!). I wind-up having to choose the file from the exact same file path. It is an unnecessary, and annoying extra step to take.
I've found a few macros that will automate changing cell references from absolute to relative and they work great. However, when I run the macros on formulas that have references to another worksheet or workbook, the macro will not work correctly.
I need to transfer data from one sheet to another sheet in another workbook. The output row corresponds to a value in input column a, and output column corresponds to a date in input sheet column B.
I've previously dim-ed the input/out workbooks/sheets as wbin, wbout, sheetin, sheetout respectively. The error I get is runtime error '9': subscript out of range in the copy destination line.
iMaxRow = 5000 Dim subj1 As String Dim subj2 As String For iRow = 1 To iMaxRow
[Code] .........
For now, i've disabled the on error resume next. Also, the input column a has 4 numbers followed by string, while the corresponding output row header only has the 4 numbers, hence I tried matching with the wildcard.
I'm having an issue with a macro that copies sheets from one workbook into a new workbook. The issue is it doesn't copy all the sheets. It only copies the first 10 and doesn't capture the the remaining 15. I've checked the range of the translation table and the issue doesn't appear to be there.
Sub SBGFiles() Application.Calculation = xlCalculationManual Application.DisplayAlerts = False Application.ScreenUpdating = False Dim a As Worksheet Set a = Sheets("Input") Dim Fpath As String Fpath = ThisWorkbook.Path & "" Dim SBG As Range Dim RU As Range Run ("UnPro") For Each SBG In a.Range("B44:D44") Workbooks.Add newbook = Workbooks.Count Workbooks.Item(newbook - 1).Activate On Error Resume Next
I want to take Book 1 & Book 2 then combine them into one new book (Book 1 & 2 combined) only if data matches. So in the this example if columns A,B,C,D match Columns H,I,J,K then append the matching row from Book2 to the end of the matching row in Book1 and then save in Book 1 & 2 combined. So if I opened Book 1 & 2 combined and then started a macro that did it automatically. i have tried several times but got know where.
I have 2 books right now. Each book has 2 colums of data (See attached jpg.):
Book 1 has a column for "phone number" and another for "street" Book 2 has a column for "phone number" and another for "house number"
I would like to merge these books together so that all the information I have about these contacts is in the same book. Column A will be the phone numbers, column B will be the street name, and column C will be the house number. As you can see by looking at book 2, I only have house numbers for some of the phone numbers in book 1. My goal here is to have book 2 "look at" book 1, and add any information book 1 does not have (such as house number) to the relevant row (the row where the phone numbers match). This new book will by my book 3. I've attached a jpg. with how book 1 looks, book 2 looks, and how I want book 3 to look.
I have eight sheets that have lists of questions in, which I want to copy across to a results sheet if the answer to a question is 'Yes'. Each question takes up rows B:H inclusive, and I would want to copy them to rows B:H in the results sheet. The "Yes" value will be found in column F of each row.
How can I set up a macro to copy the entire rows (without formatting) into a results sheet properly? I've tried every solution I can find but always hit a roadblock somewhere.
Ideally I would like to have a 'populate' button on the results sheet that would find every question that was answered 'yes' across the eight survey sheets and import them into results sheet.
Problem-1) i want to round off the digit in the same cell i,e. Formula in F12 should be included in D12.
Problem-2) i have entered a sample account.in this i want to post the data entered in day book into their respective sheets of jaya and supervision automatically.
We have a master worksheet, and I cant let staff see it, but I want them to update 'their bits' themselves, rather than email the admin staff and let them update the master sheet..
every job is on its own row and contains a unique ID.
is there a way i can merge their data in to the correct row and column(s) on the master sheet?
I have this excellent code which I found on here that looks at the data in column A, looks at the data in column B & then returns the differences ie.
A_____________B_________C___________D______________E John________Jimi_________________Not in A_______Not in B Paul________Sporty________________Jimi____________John George______Ginger________________Eric____________Posh Ringo_______Scary_________________T-Bone__________Baby Posh________Eric Scary_______Ringo Sporty______Paul Ginger______George Baby________T-Bone
Each job has it's own xls file, this is a list of manually input costs and a total cost at the bottom (total is the same Cell reference: G24) for all xls files. The xls file is named the same as the job - F0001, F0002 etc.
At the end of every month we then want to create a master list xls file for all jobs being invoiced that month. This is a list of all the jobs - F0001, F0002 etc. In Column A, and the corresponding cost totals in column B.
In the master file we want to be able to type in the job reference to column A (i.e. the file names of the single job files -F0001, F0002 etc) and have the corresponding total for that reference display automatically in Column B (i.e. Cell G24 from file F0001 will display in the master file cell B1, when 'F0001' is typed in cell A1).
Ideally the master file would display all the individual entries automatically, so no need to input the job references either - simply scanning the directory for the other files present and creating a list automatically in the master file, alternatively it can get the job reference from Cell A1 in the individual job files, instead of from the file name.
I'm trying to get a system setup with a workbook acting as a reference document, sort of read only and on a separate server. Which is then referenced by another "working" workbook, no problem so far other than I want to be able to view/show images from within the main reference workbook in the destination working workbook. I want this to happen when a user inputs a code, it should populate a series of cells including showing a small jpeg of said item.
For example if I use the camera function it doesn't do as desired when the main reference workbook is not currently open.
I was hoping to avoid macro's or vb if at all possible.
I'm a bit of an Excel novice though have limited programming experience in other languages / applications. I'm also a complete novice when it comes to forums and threads etc. so excuse me if I mess up protocol at all.
I have a workbook for each day recording energy usage from 52 meters,
I need to collate the data on a single workbook.
The only way i can think of doing it is to use the INDIRECT function but this will not work on closed workbook.
I need to sum the contents of B1:AW1 on the closed workbook and input that into a cell on the new sheet. then repeated for B2:AW2, B3:AW3 up to B52:AW52 once this has been done the process needs to be repeated for 31 workbooks.
The end product should be 31 Columns (one for each day ini the last month) and 52 rown (one for each meter) and the total daily consumption for each meter (sum of column B:AW)
I'm trying to optimize code by avoiding activating other worksheets, but I'm running into a problem with a match function.
I'm using a workbook called "Template" and then opening another workbook called "DCP" and trying to use the match function to figure out what row data is on. I can get this first line of code to work:
HTML Code: MatchedRowNumber = WorksheetFunction.Match(Combo, Sheets("Sheet1").Range("A:A"), 0)
However for that to work, I have to activate the other workbook. I want to avoid that and stay within the "Template" workbook. I think I need something like this:
HTML Code: MatchedRowNumber = WorksheetFunction.Match(Combo, DCP.Sheets(DCPSheet).Range("A:A"), 0)
That one however doesn't work... looks like I have the wrong syntax.
Below is an excerpt for the code in case something is wrong with how I set the variables.
I would like the user to select two files, the macro then inputs a formula that includes vlookup to the other sheet. However i am not sure how to reference each workbook.
Sub InsertLocationContents()
Dim rng As Range Dim LastRow As Long
'OPEN CSV FILE WITH LOCATION CONTENTS
csvFN = Application. GetOpenFilename(Title:="Select Location Contents csv file") If csvFN = False Then ' They pressed Cancel MsgBox "Stopping because you did not select a file" Exit Sub Else Workbooks.Open Filename:=csvFN Workbooks.OpenText Filename:= _ csvFN, Origin:=437 _ .............................
Im using the below formula to paste information into a new spreadsheet based on the if then statement. However, as i paste the formula down the sheet, it doesnt reference all the cells. The formula stays on the cells it referenced initially. How can I make the formula reference all the cells as i drag it down?
Take the following simple sheet. My data is in column A, and includes some merged cells. I place the formula INDIRECT("RC[-1]",0) in column B, and copy it down the sheet. I get the result as shown in column C, but I would like the result shown in column D!
| A | B | C | D | --|-----------|------------------------|-----------|-----------| 1 | Bob | =INDIRECT("RC[-1]",0) | Bob | Bob | --|-----------|------------------------|-----------|-----------| 2 | Harry | =INDIRECT("RC[-1]",0) | Harry | Harry | --|-----------|------------------------|-----------|-----------| 3 | | =INDIRECT("RC[-1]",0) | Charles | Charles | | |------------------------|-----------|-----------| 4 | Charles | =INDIRECT("RC[-1]",0) | 0 | Charles | | |------------------------|-----------|-----------| 5 | | =INDIRECT("RC[-1]",0) | 0 | Charles | --|-----------|------------------------|-----------|-----------|
I realise WHY this doesn't work (as Excel refers to the merged cells A3:A5 as just A3, and A4 & A5 don't essentially exist any more), but I would like to know if there's a way to get around it, and achieve the result in column D.
I made a spread sheet last year that used various COUNTIF formulas that referenced other cells. =COUNTIF(I40:ER40,"A") It worked perfect.
I copied that spreadsheet to use for this year. I cannot get this formula to work. I have reentered in various locations and forms, but to no avail. If I enter the data and then enter the formula, it works.
However, if I enter the formula first and then enter the data (which I will do over the course of the year) it does not work. I even tried to reconstruct all of this in a brand new spread sheet and it still is not working, although last year's spread sheet still works.
I have a worksheet "parent child" with product data, cells F4 and BK4, pull pertinent data from cells T2 and M2 respectively on a different sheet "products".
A5:A196, D5:D196, F5:F196 is dependent on cell F4 and BK5:BK196 is dependent on BK4.
Once we get to row 197, the cycle starts over again. F197 and BK197 needs to equal products!T3 and products!M3. Then rows 198 through 389 will be dependent on row 197.
I basically need this to repeat perpetually for about 1000 different products on the products sheet, thus the ability to create approximately 193,000 rows.
I am not sure what it will take to do this, i am fine if I have to drag and copy all rows, which I have tried to create and failed at, I end up with products! T196, instead of T4.
I'm transferring data from one workbook to another. The first workbook ('Request Form') will always have a different file name depending on which user is saving it. However, the worksheet within that book will always have the same name ('Tab A'). Workbook and worksheet 2 ('PTS' and '2008' respectively) will remain the same.
Basically I want the macro to open 'Request Form' (whatever the name, wherever it's saved) and stay open as the rest of the macro runs. I need that file name to be a sort of wildcard, since the file path and file name will never be the same. How can I do this?
Dim TabA As Worksheets Application.GetOpenFilename Application.ScreenUpdating = False Set wbOpen = Workbooks.Open("Request Form.xls") --THIS NEEDS TO BE A WILDCARD 'Declares the ClientName Sheets("TabA").Select
I am using a lot of linked reports that have to be rewritten each month. For example smaller formulas look like this:
=('S:PUBLICProductionJob CardsMOLDING201311 November[440A SIDE SPOILER JOB CARD.xls]Production Parts'!B$228*2)+'S:PUBLICProductionJob CardsMOLDING201311 November[440A SIDE SPOILER JOB CARD.xls]Production Parts'!B$262+'S:PUBLICProductionJob CardsMOLDING201311 November[440A SIDE SPOILER JOB CARD.xls]Production Parts'!B$292
What I want to do is extract the file path from the above formula and make it a composite of several cell references.
So what I need is to have a cell where they can change the month and another where we can change the year. So I set up several named cells that look like this:
I have an excel file which I use when I book keep journals in work. Each time I come across a new piece of bookkeeping I add to the file, name the sheet and index it. (I've attached a loose example for illustration) so the bookkeeping template.xls gets bigger every day.
Currently, when I book keep on a particular day, I open the template.xls workbook;
draft my journals;
and then manually copy the worksheets I have completed during the day from the template.xls workbook and paste the sheets into a new book and save the days bookkeeping as the current date.
With the file I have attached can someone show me how to write a macro and apply it to each of the buttons on the various work sheet tabs (each button will run the same macro).
Upon clicking a button, I would like the macro to;
Copy the active sheet into a new book and save the file as the current date.
Each subsequent click of a button the macro will check if the .xls file exists for the current date, if it does, then it will just copy the active worksheet to the file that has already been created.
In the new file which is saved as the current date, I need to remove the macro button and the hyperlink that reads back to index.
I have had some helpful macro's provided from another forum, however, the other forum does not appear to enable users to upload files, so I can't quite convey what it is I am trying to achieve.
There is an autofilter applied to worksheet A, I would like to transfer only the autofiltered range from worksheet A to worksheet B, a clear worksheet B statement would also help.
I made the following code to merge 2 workbooks together.
The code is to be executed when the user has Workbook A opened. (All sheets in workbook KPISWD are supposed to be moved after all worksheets in workbook KPICustomers).
I keep getting a debug error on the code that is supposed to do the actual move and loop until it is finished with all of the sheets in Workbook B.
Code: Dim KPICustomers, KPISWD As String KPICustomers = ActiveWorkbook.Name
Workbooks.Open Filename:= _ "W:FacturatieKPI per periode SWD.xls"
I have a more general question. When doing something such as loading a picture, is it possible to be able to have code which the loading file name changes with a variable. For example, if I have pictures with names 1.jpg thru 120.jpg(all in the same directory) is it possible to write a code that loops and loads the proper image without having to write a section of code for each file name? This would be the directory(C:Documents and Settings muzaDesktopNew DatabaseDatabase Images312312_250) so could I code the filename calls something like this with having picname be the variable which goes from 1 to 180: