Question

reference an excel cell in another workbook

Asked by: cavalierlan

Here's the issue,  I have invoices in excel that are saved with the invoice #.  I want to create a single workbook (bookkeeping.xls) that gathers information from all the invoices like name,charges,etc.  

I have been able to get the cells referenced by selecting my cell in bookkeeping.xls typing = and then selecting the cell to reference in the invoice workbook 1005.xls.  I want to make bookkeeping.xls reference 1005.xls, 1006.xls, 1007.xls, so once I create the 1007.xls invoice it will already be referenced in my bookkeeping.xls.

I need the reference to sequentially change by 1 as it goes down each row.  Example:
=[Book2]Sheet1!$A$1
=[Book3]Sheet1!$A$1
=[Book4]Sheet1!$A$1

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-08-20 at 07:06:38ID24668211
Topic

Microsoft Excel Spreadsheet Software

Participating Experts
2
Points
500
Comments
12

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Gathering data from multiple workbooks
    One of our staff members has been keeping data in an excel spreadsheet all year. There is 1 file for each day. Each file is setup exactly the same. What would be the best way to gather ALL of that data into a single workbook so that it can be exported and imported into a dat...
  2. Open workbook to a specific cell
    Column A has dates in various cells, no real pattern. A3 is 01/01/2006 & A20 is 03/13/2006. If today is March 13th, 2006 and I open the workbook, can I have cell A20 be active cell? Thank you, Joey
  3. filter workbooks
    Hello, I have about 6000 excel files (workbooks). I want to filter these workbooks based on value of one cell (B2). If B2 cell value is "yes", program will copy that workbook to "yesfolder" folder. if B2 cell value is "nofolder", program will c...
  4. Copying a cell in an external workbook and pasting its value…
    I have an open workbook whose title is in A12 of the active workbook ("Book1"). Is there a formula or code that will copy Cell Z1 of the external workbook referenced in Cell A12, and paste its value in Cell B12 Thanks! John
  5. updating  the value of a cell in  workbook
    Hi, I've an excel workbook (full_list.xls) with about 60 sheets, each sheet is named after a salesperson, Column A of each sheet also contains the name of the salesperson I've a second workbook with a list of Team leaders in column a and salespeople in column B, (Team.xls...
  6. Find cells protected...apply to other workbooks
    In Sheet1 of Test.xls some cells are protected (sheet1 could be unprotected via a password). I need a VBA routine to read the information (address, etc.) to apply to Sheet1 in some 200 workbooks. Thank you.

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: lostsidePosted on 2009-08-20 at 07:20:05ID: 25142825

only with VBA i think

 

by: robhensonPosted on 2009-08-20 at 07:32:28ID: 25142981

Sounds like you  need to use the INDIRECT function and have the invoice # referenced in a separate cell.

Unfortunately, INDIRECT doesn't work when external source workbook is not open.

I suppose you could run a routine that creates the formula with the right file reference without using the INDIRECT function, pulling in the invoice # as a variable in a string that gets fed back out to the cell.

For Each cell in Range("A1:A" & Rows.Count).End(xlUp).Row

InvRef = cell.value
r = cell.row
Let Range("B"& r") = FormulaR1C1 = "=[" & InvRef & ".xls]Sheet1!R1C1"

Next Cell

This would look at all entries in column A.

Formula string will also need text for the file path. To get the syntax, set up a link between two files and then close the source file. The formula in the destination file will then change to include the filepath. The filepath will need to added into the text string within the quotes before the first square bracket [.

Hopefully gets you started.

Cheers
Rob H

 

by: cavalierlanPosted on 2009-08-20 at 08:16:05ID: 25143577

Rob

I wanted to make the referenced workbook be a variable, but didn't know how to insert it.

The click method results:
='C:\business\[invoice 1001.xls]Sheet1'!$B$4

I tried to take what was created by clicking and change it to have a variable like the number from cell "A2"

='C:\business\[invoice A2.xls]Sheet1'!$B$4 --- (This opened a browse window where I had to pick the workbook manually, and I've never got it to sequentialy increase.)

In example below column A is typed in.  Row 1 is achieved through click referencing.  Row 2 is an attempt at adding the "A2" cell as a variable in the reference.

Thanks for the help.

 

by: robhensonPosted on 2009-08-20 at 08:53:53ID: 25144069

To do it without vba, it would ahve to use the INDIRECT function.

Whereas = A2 takes the contents of A2, =INDIRECT(A2) takes the contents of the cell or range referred to in cell A2. So you would ahve to build of string of text that represents the filename, sheet reference and cell reference. So in your example:
   A                            B
1   1002                      =INDIRECT("'C:\Business\[invoice " & A1 & ".xls]Sheet1'!$B$4")
2   1003                      =INDIRECT("'C:\Business\[invoice " & A2 & ".xls]Sheet1'!$B$4")

In this example the reference to A1 and A2 will change as the formula is copied down but the reference to B4 will not, even if you take away the $ signs, because it is within the quotes so recognised as part of the text. You can split each component of the string to a variable in a referenced cell if so required, so long as the whole syntax generates a valid cell reference. Try it without the INDIRECT first and you will then see the cell reference that the formula is generating, then enclose it within the INDIRECT brackets.

As mentioned earlier, INDIRECT linking to another workbook only works while the source workbook is open, once the source workbook is closed the result stays valid until an event forces calculation in the destination workbook. At that point it will turn to an error.

The result of your attempts was trying to look for a file called "Invoice A3.xls" which it was unable to find so gave you the dialog box to give the option of finding it manually.

Cheers
Rob H

 

by: robhensonPosted on 2009-08-20 at 09:16:52ID: 25144320

Just thought of another option, should have thought of it earlier as its what I use for my own invoices!!

I have two sheets within a single workbook. One sheet is formatted as the Invoice template. This sheet has one manual input cell which is a dropdwon list for Invoice number. The rest of the sheet is populated with formulae, lookups and sums etc. The lookups refer to a data sheet where each data item line of the invoice is in a separate column or group of columns, eg quantiy, description and unit price. The data includes address, date and PO reference as well as the actual invoice items.

As I produce an invoice the data gets added to the data sheet, I reference it on the template, print as required (and print to pdf just in case).

I guess it depends on how much detail each invoice would have as to whether this would be viable. mine only have 4 - 5 lines of chargeable items but would still have scope for more. My limitation would be number of columns on the data sheet. I have 9 columns for address and ref details; leaving 255 for detail, in groups of 3 (qty, desc, unit price) I could have 85 chargeable lines. Where I need to add just text, I leave the qty and unit price blank and the formulae on the template deal with it accordingly.

Cheers
Rob H

 

by: cavalierlanPosted on 2009-08-20 at 11:37:26ID: 25145730

I tried your INDIRECT method and I got it to work, but like you said you have to have all the files open at the time.  Is there any way to output that to a different sheet that wont change?

In the method you use, does your data sheet record all your past invoices?  How are you getting it to stay in the data sheet?

I want to look at my bookkeeping sheet and see all my sales for the past month, quarter, or year which ever is best.

 

by: cavalierlanPosted on 2009-08-20 at 11:47:42ID: 25145815

So your going the oposite route and referencing the datasheet from the invoice?

Just input all invoice variables in the data sheet and it will populate the invoice template that you can then print only while those variables are in the correct cells on data sheet.

Do you input your info on say row 1 and then insert a new row 1 for the next invoice?  How do you get the invoice template to reference the current data your putting in and not the last data you entered?

 

by: robhensonPosted on 2009-08-21 at 01:37:32ID: 25149941

Template has one input cell for invoice number. Its actually a validated list feeding from an existing list of references in column A of the data sheet.

All data on template are lookups based round this number. As I create a new invoice I add a row of data to the data sheet against the next reference.

If I need to reprint at a later date, I either use the pdf copy created at the time or I can recreate the invoice in excel by entering the relevant reference.

My data sheet is purely raw data. If I wanted to do some reporting, I would reference this sheet from a report summary. My monthly accounts sheet references it for income purposes, by invoice number. Mine doesn't have enough consistency of category of sales for reporting (well it does I know its all my time) but no doubt one of the items in the data set per invoice item could be category or something similar ie category, qty, description, unit price

See attached.

Cheers
Rob H

 

by: cavalierlanPosted on 2009-08-21 at 04:28:28ID: 25150665

Thanks for the example,  I've started using some of your suggestions and will enter raw data on the bookkeeping sheet then have that populate the template.  

The only minor snag I had was I just wanted the invoice template to reference row 1 of the bookkeeping, thats where I enter all the data for the current template (next template I'll insert a new row 1 pushing previous sales down).

How do I get the reference not to shift down with my insert and stay with row 1?

 

by: robhensonPosted on 2009-08-21 at 04:53:25ID: 25150809

Assuming:
headers row 1
data for new invoice row 2
previous data row 3 onwards

When you come to do a new invoice, highlight all of row 2 (keyboard shortcut Shift + space does whole row). Copy (Ctrl + C)

Now right click A3 and select Insert copied cells. This will insert a row and paste the copied data.

Now delete and/or overwrite old data in row 1 with new data.

Cheers
Rob H

 

by: robhensonPosted on 2009-08-21 at 06:42:11ID: 25151694

Alternatively, just add new data to the bottom and have the template fed by lookups on the reference, like mine does, rather than straight links to specific cells.

Set the lookup range suitably big enough at the start so you don't have to amend it.

Or you can use the INDIRECT to set the lookup range as variable dependent on number of rows in the data table. This can be in a formula in the cell or in a formula in a range name 'refers to:' criteria. For the latter the formula in the cell then refers to the range name which will change as the data increases.

Cheers
Rob H

 

by: cavalierlanPosted on 2009-08-21 at 07:19:27ID: 25152041

Thanks!

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...