The sample dataset contains two columns with names and ages. The header and data have different cell colors.
Method 1 – Keeping the Format in Excel When Referencing Cells using the Copy and Paste Feature
Steps:
- Select B4:B10 and press CTRL+C.
- Select a cell to paste this column. Here, E4.
- Right-click E4 and select Linked Picture in Paste Special.
You will see B4:B10 in column E with the same formatting. You can also see the cell reference of the copied column in the formula bar.
Read More: How to Link Cells for Sorting in Excel
Method 2 – Using VBA to Keep the Formatting in Excel When Referencing Cells
Steps:
- Open Visual Basic in the Developer Tab.
- VBA will open. Double-click to open Sheet4 (here).
- Enter the following code.
Private changing As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = [B4].Address Or changing Then
Exit Sub
changing = True
[B4].Copy [E4]
changing = False
End Sub
An IF statement is used to check whether the cell reference has an address. The address is B4 and will be copied to E4.
- Save the code by pressing CTRL+S and go to the sheet (Sheet4).
- Copy B4 and Paste it into E4.
- Enter new data in B4: change the heading to Name of Players.
- Press ENTER and you will see the title in E4.
Practice Section
Practice here.
Download Practice Workbook
Further Readings
- How to Link Multiple Cells in Excel
- Link Multiple Cells from Another Worksheet in Excel
- How to Link Tables in Excel
- How to Link Two Cells in Excel
- Link Cells in Same Excel Worksheet
- How to Stop Cell Mirroring in Excel
- How to Automatically Link a Cell Color to Another in Excel
<< Go Back To Excel Link Cells | Linking in Excel | Learn Excel
Get FREE Advanced Excel Exercises with Solutions!
Thank you Nahian. However, what about referencing cells from an external spreadsheet? I basically want to copy the cell’s value/text, including the formatting, into another spreadsheet. The values are easy enough but I want the formating to be copied too.
The original spreadsheet is basically a calender with several apartments booking details. I need to extract one apartment details (each day of the month, each month in one row) to put into a separate spreadsheet.
This is so that I can share this new spreadsheet with the owner of this apartment without them being able to see the original spreadsheet that has all the other information.
I can do this easily however, the formatting is not copied over.
Thank you Julie for reaching out. The first method can be done to solve your problem. Just copy the data and paste this as linked picture into a new spreadsheet. Any change in your main spreadsheet will automatically be updated in the new sheet.
Excel crashes after running the VBA.
Hi Z
I have checked the code in different Excel versions on different laptops. It’s working fine. This is an event-driven macro. So, on changing the cell’s value, you should get the output. Maybe due to some compatibility issues or external problems, you are facing this hiccup.
Thank you
Hi, Would this work on ranges of cells so that one VBA can be written for all rather than one cell at a time.
For example sheet 1 range A1:A67 as reference cells, copied into sheet 2 range A26:A85 cells?
Hello Lea, thanks for reaching out. Here’s a solution for your query.
Procedure:
Regards
Meraz Al Nahian
ExcelDemy