How to use/reference value from previous worksheet in Excel?
How to reference a specific cell value from previous worksheet when creating a copy in Excel? For example, when creating a copy of Sheet2, you may want to automatically reference cell A1 of Sheet2 into the new copied worksheet (says Sheet3). How to achieve it? This article will help you.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
To be honest, no method can automatically reference certain cell value when creating a copy of a worksheet. Actually, you can create a new sheet and then reference the cell value from previous worksheet with the following user-defined function.
1. After creating a new blank worksheet (says Sheet3), please press Alt + F11 keys at the same time to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, click Insert > Module. Then copy and paste the following VBA code into the Code window.
VBA: Use/reference value from previous worksheet in Excel
Function PrevSheet(RCell As Range) Dim xIndex As Long Application.Volatile xIndex = RCell.Worksheet.Index If xIndex > 1 Then _ PrevSheet = Worksheets(xIndex - 1).Range(RCell.Address) End Function
3. Press the Alt + Q keys simultaneously to close the Microsoft Visual Basic for Applications window.
4. Select a blank cell of Sheet3 (says A1), enter formula =PrevSheet(A1) into the Formula Bar and then press the Enter key.
Now you will get the A1 cell value of previous worksheet (Sheet2) in current worksheet.
Note: The code will auto identify the worksheet which belongs to the previous one of current worksheet.
With the Dynamically Refer to Worksheets utility of Kutools for Excel, you can easily use or reference value from previous worksheet in Excel.
1. If you want to reference value of cell A1 from previous worksheet to current worksheet, please select cell A1 in current worksheet and then click Kutools > More > Dynamically Refer to Worksheets. See screenshot:
2. In the Fill Worksheets References dialog box, only check the previous worksheet name in the Worksheet list box, and then click the Fill Range button.
Then you can see the value of cell A1 in previous worksheet is referenced in current worksheet.
Note: With this utility, you can reference the same cell value from different worksheets into current worksheet at once.
Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now!
You are guest
or post as a guest, but your post won't be published automatically.
- To post as a guest, your comment is unpublished.· 2 months agoI tried the code but it returns formulas not allowed. The cell of the previous worksheet is a result of a formula., how do you bypass the formula and return the result? The previous sheet cell returns the formula of =SUM(L38:L39)-L40
- To post as a guest, your comment is unpublished.· 9 months agoI followed steps 1-4, but I keep getting a #NAME error. Excel 2016. Please advise?
- To post as a guest, your comment is unpublished.· 9 months agoHi Anon,
The code works well in my Excel 2016. Did you find specific error reminded in your code window when getting the #NAME error result?
- To post as a guest, your comment is unpublished.· 10 months agoI followed steps 1-4 but I keep returning a #NAME? error - Please advise?
- To post as a guest, your comment is unpublished.· 9 months agoHi Andrew,
Which Office version do you use?
- To post as a guest, your comment is unpublished.· 1 years agoWhat about use value from Next Sheet?
- To post as a guest, your comment is unpublished.· 1 years agoHi Alex,
To get the value from next Sheet, please replace the minus sign with plus sign in the sixh line of the code:
PrevSheet = Worksheets(xIndex + 1).Range(RCell.Address)
- To post as a guest, your comment is unpublished.· 10 months agoHi Crystal, I tried replacing the minus sign with a plus sign but it didn't work - the relevant cell just returned a zero. I'm just wanting the change(s) required to do exactly as above BUT with the workbook numbering going from right to left, ie. Sheet3, Sheet 2, Sheet1 (the previous sheet will be the one to the right). Thanks
- To post as a guest, your comment is unpublished.· 9 months agoHi Mav,
The method works based on the worksheets' order in your workbook. ie. The worksheets order from left to right are Sheet3, Sheet2 and Sheet1. For Sheet2, it's previous worksheet is Sheet3, and it's next worksheet is Sheet1.
- To post as a guest, your comment is unpublished.· 9 months agoHi Crystal,
Yes I know. My query (like Alex's) is what change is required to make it work the other way, ie, for the next sheet, where the next sheet is to the left of the preceding sheet? You wrote to Alex,
"please replace the minus sign with plus sign in the sixh line of the code:
PrevSheet = Worksheets(xIndex + 1).Range(RCell.Address)".
My comment was just to say that that particular change did not work and to ask if you have a way that will actually work.
- To post as a guest, your comment is unpublished.· 2 years agoI've been looking for something to do this forever, thank you so much you have no idea. I have a simple spreadsheet for data entry weekly and a new tab for each week. the days, date, week #, etc goes +1 and then it grabs from previous sheet and moves to new one, this created a fast solution to data transfering to different sheets--- Again thank you
- To post as a guest, your comment is unpublished.· 2 years agoGood Day,
Sorry I can’t help with this, you can post your question in our forum: https://www.extendoffice.com/forum.html to get more Excel supports from our professional.
- To post as a guest, your comment is unpublished.· 2 years agoExcellent work and explanation. Saved me so much time, thank you VERY much.
- To post as a guest, your comment is unpublished.· 3 years agoHello
I have a question for the experts.
I am able to make a reference to previous sheet.
But i would like to keep repeating that reference throughout the workbook on the same cell on the next sheets. (ie D13)
Sheet 1 Cell D13 is repeated in the next sheets with 1 incremental value each.
However if i delete sheet 7 or any other sheet, i need excel to continue counting the same way.
sheet 1 I start with 100
sheet 20, I end up with 119
if i delete couple sheets , i want to make sure that references change automatically without manual intervention.
Meaning that reference on D13 is changed automatically after I delete sheets.
Thank you for your help.