Automatically updating Tabs in a Template, but not affecting downloaded copies

Bill Morris

New Member
Joined
Aug 1, 2011
Messages
41
Hi

I have a template (Master) which has a number of tabs. Each tab is a copy of a tab in other Excel workbooks. If any of these are updated, then the tabs in the template update also as they are linked.

Users open/download the Master template, add in info, then Save As 'newfilename'.xlsx workbook.

How can I set it so that if changes are made to the tabs in the Master template, that it doesn't affect the 'newfilename'.xlsx file?

Thanks in advance
 

Excel Facts

What does custom number format of ;;; mean?
Three semi-colons will hide the value in the cell. Although most people use white font instead.
How are they linked? Formulas? VBA? Other method?
 
Upvote 0
In the area you are copying and pasting, is it always only static values or does it have to keep formulas as well when users Save As?
 
Upvote 0
There are no calculations/formula as such. Although there is some basic conditional formatting depending on what dropdown value is selected in the row.

It's essentially a load of columns with headers. If, say, 'option 1' is selected from a column 1 in row X, then it would grey out a cell in row X, column 3.
 
Upvote 0
Try running this macro in the Master Template. It will open a Save As dialog box, save a copy, open the copy, and convert all cell contents to values (this breaks the link to the master/other workbooks). Run it in a backup of your Master Template in case something goes wrong :)
VBA Code:
Sub SaveAsAndBreakLinks()
Dim dialogResult As Variant

' --- SAVE AS DIALOG
dialogResult = Application.GetSaveAsFilename(FileFilter:= _
         "Excel Files (*.xlsm), *.xlsm", Title:="Save As and break data links", _
        InitialFileName:="newFile.xlsm")

' --- CHECK IF DIALOG IS CANCELED
If dialogResult <> False Then
    ActiveWorkbook.SaveCopyAs Filename:=dialogResult
Else
    Exit Sub
End If

' --- OPEN THE NEW WB, CONVERT ALL CELLS TO VALUES AND SAVE
Set newWb = Workbooks.Open(dialogResult)
Dim ws As Worksheet
For Each ws In newWb.Sheets
    ws.UsedRange.Value = ws.UsedRange.Value
Next
newWb.Save
End Sub
 
Upvote 0

Forum statistics

Threads
1,220,965
Messages
6,157,119
Members
451,398
Latest member
rjsteward

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top